SUBSTRING_INDEX 文字列関数は、指定された文字列内の特定の記号の前のすべての文字を表示します。
SUBSTRING_INDEX 文字列関数の構文
構文1: この構文では、SQL テーブルの列名を指定した SUBSTRING_INDEX を使用します。
SELECT SUBSTRING_INDEX(Column_Name, symbol, starting_position) AS Alias_Name FROM Table_Name;
構文では、SUBSTRING_INDEX 文字列関数を実行する列の名前を指定する必要があります。
構文2: この構文では、次の文字列を指定した SUBSTRING_INDEX 関数を使用します。
Linuxでディレクトリの名前を変更する方法
SELECT SUBSTRING_INDEX(Original_String, symbol, starting_position);
SUBSTRING_INDEX 文字列関数の例
例 1: 次の SELECT クエリは、元の単語 JAVA^TPOINT 内の指定された記号の前の 4 文字を表示します。
SELECT SUBSTRING_INDEX( 'JAVA^TPOINT', '^', 1) AS SUBSTRING_INDEX_4_characters;
出力:
SUBSTRING_INDEX_4_characters |
ジャワ |
例 2: 次の SELECT クエリは、指定された文字列からの SUBSTRING_INDEX 20 文字を表示します。
Javaのjvm
SELECT SUBSTRING_INDEX( 'JAVATPOINT is a. good website', '.', 1 ) AS SUBSTRING_INDEX_before.symbol;
出力:
SUBSTRING_INDEX_before.symbol |
JAVATポイントは、 |
例 3: 次の SELECT クエリは、指定された「おめでとう」という単語の 3 番目の位置から指定された記号までの 5 文字を表示します。
SELECT SUBSTRING_INDEX( '[email protected]', '@', 3) AS SUBSTRING_INDEX_before@symbol;
出力:
SUBSTRING_INDEX_before@symbol |
大好きです |
例 4: 次の SELECT クエリは、指定された文字列内の 5 番目の位置から指定された記号までの 20 文字を表示します。
SELECT SUBSTRING_INDEX('New Delhi is the capital# of India', '#', 5) AS SUBSTRING_INDEX_5_characters;
出力:
文字列の連結
SUBSTRING_INDEX_before#symbol |
首都はデリー |
例 6: この例では、構造化照会言語のテーブルで SUBSTRING_INDEX 関数を使用します。
SQL で SUBSTRING_INDEX 関数を理解するには、まず CREATE ステートメントを使用して SQL テーブルを作成する必要があります。 SQL データベースに新しいテーブルを作成するための構文は次のとおりです。
CREATE TABLE table_name ( First_Column_of_table Data Type (character_size of 1st Column), Second_Column_of_table Data Type (character_size of the 2nd column ), Third_Column_of_table Data Type (character_size of the 3rd column), ... Last_Column_of_table Data Type (character_size of the Nth column) );
次の CREATE ステートメントは、 Student_Marks テーブル:
CREATE TABLE Student_Marks ( Student_ID INT NOT NULL PRIMARY KEY, Student_First_Name VARCHAR (100), Student_Middle_Name VARCHAR (100), Student_Last_Name VARCHAR (100), Student_Class INT NOT NULL, Student_City Varchar(120), Student_State Varchar (80), Student_Marks INT );
以下の INSERT クエリは、大学の学部のレコードを Student_Marks テーブル:
INSERT INTO Student_Marks (Student_ID, Student_First_Name, Student_Middle_Name, Student_Last_Name, Student_Class, Student_City, Student_State, Stude.nt_Marks) VALUES (4001, Ama.n, Roy, Sha#rma, 4, Chandigarh, Pun#jab, 88); INSERT INTO Student_Marks (Student_ID, Student_First_Name, Student_Middle_Name, Student_Last_Name, Student_Class, Student_City, Student_State, Student_Marks) VALUES ( 4002, Vish.al, Gurr, Sh#arma, 8, Murthal, Harya#na, 95 ); INSERT INTO Student_Marks (Student_ID, Student_First_Name, Student_Middle_Name, Student_Last_Name, Student_Class, Student_City, Student_State, Student_Marks) VALUES (4007, Raj., singhania, Gupt#a, 6, Ghaziabad, Uttar Pr#adesh, 91); INSERT INTO Student_Marks (Student_ID, Student_First_Name, Student_Middle_Name Student_Last_Name, Student_Class, Student_City, Student_State, Student_Marks) VALUES (4004, Yas.h, Chopra, Singh#ania, 9, Jaipur, Rajasthan#, 85); INSERT INTO Student_Marks (Student_ID, Student_First_Name, Student_Middle_Name, Student_Last_Name, Student_Class, Student_City, Student_State, Student_Marks) VALUES (4011, Vin.ay, Sharma, Roy#, 8, Chandigarh, Punjab#, 94); INSERT INTO Student_Marks (Student_ID, Student_First_Name, Student_Middle_Name, Student_Last_Name, Student_Class, Student_City, Student_State, Student_Marks) VALUES (4006, Man.oj, singhania, Gup#ta, 5, Ghaziabad, Uttar Pr#adesh, 83); INSERT INTO Student_Marks (Student_ID, Student_First_Name, Student_Middle_Name, Student_Last_Name, Student_Class, Student_City, Student_State, Student_Marks) VALUES (4010, Ra.m, Raheem, Gupt#a, 9, Lucknow, Uttar Pra#desh, 89);
次の SELECT ステートメントは、上記の挿入されたレコードを表示します。 Student_Marks テーブル:
SELECT * FROM Student_Marks;
男子学生ID | 男子生徒_名 | 男子生徒_ミドルネーム | 男子生徒の姓 | 男子生徒_クラス | 男子学生_市 | 男子生徒_州 | スクールボーイ_マークス |
---|---|---|---|---|---|---|---|
4001 | 男 | ロイ | シャ#マ | 4 | チャンディーガル | パンジャーブ | 88 |
4002 | ヴィシュアル | ガー | Sh#武器 | 8 | ムルサル・ハリヤ#ナ | 95 | |
4007 | ラージ。 | シンガニア | グプト#a | 6 | ガーズィヤーバード | ウッタル・プラデーシュ州 | 91 |
4004 | ヤス | チョプラ | シン#アニア | 9 | ジャイプール | ラジャスタン州# | 85 |
4011 | ヴィンアイ | シャルマ | ロイ# | 8 | チャンディーガル | パンジャーブ# | 94 |
4006 | ああ、ああ。 | シンガニア | グプタ | 5 | ガーズィヤーバード | ウッタル・プラ#デシュ | 83 |
4010 | ラム | ラヒーム | グプト#a | 9 | ラクナウ | ウッタル・プラデーシュ州 | 89 |
クエリ 1: 次の SELECT クエリでは、上記 Student_Marks テーブルの Student_First_Name 列で SUBSTRING_INDEX 関数を使用します。
SELECT Student_First_Name, SUBSTRING_INDEX(Student_First_Name, ., 1) AS SUBSTRING_INDEX_before.symbol FROM Student_Marks;
この SQL ステートメントは、各学生の名の最初の位置から # 記号までの文字を示します。
出力:
Javaの現在の日付
Student_First_Name | SUBSTRING_INDEX_before.symbol |
---|---|
男 | または |
ヴィシュアル | 到来 |
ラージ。 | ラージ |
ヤス | プラスチック |
ヴィンアイ | 来る |
ああ、ああ。 | 男 |
ラム | 太陽 |
クエリ 2: 次の SELECT クエリでは、上記の Student_Marks テーブルの Student_Last_Name 列で SUBSTRING_INDEX 関数を使用します。
SELECT Student_Last_Name, SUBSTRING_INDEX(Student_Last_Name, #, 1) AS SUBSTRING_INDEX_before#symbol FROM Student_Marks;
この SQL ステートメントは、各学生の姓の最初の位置から # 記号までの文字を示します。
出力:
Student_Last_Name | SUBSTRING_INDEX_before#symbol |
---|---|
シャ#マ | 飲む |
Sh#武器 | シュ |
グプト#a | グプト |
シン#アニア | シン |
ロイ# | ロイ |
グプタ | グップ |
グプト#a | グプト |
クエリ 3: 次の SELECT クエリでは、上記の Student_Marks テーブルの Student_Address 列で SUBSTRING_INDEX 関数を使用します。
SELECT Student_State, SUBSTRING_INDEX(Student_State, @, 2) AS SUBSTRING_INDEX_@symbol FROM Student_Marks;
この SQL ステートメントは、各生徒の状態の 2 番目の位置から指定された記号までの文字を表示します。
出力:
学生_州 | SUBSTRING_INDEX_@symbol |
---|---|
パンジャーブ | ある |
ハリヤ@ナ | アーヤ |
ウッタル プラ@アデシュ | タタール PR |
ラジャスタン州@ | 時間 場所 |
パンジャーブ@ | アンジャブ |
ウッタル プラデーシュ州@desh | タタール・プラ |
ウッタル プラ@アデシュ | タタール PR |