Die Zeichenfolgenfunktion SUBSTRING_INDEX zeigt alle Zeichen vor dem spezifischen Symbol in der angegebenen Zeichenfolge an.
Syntax der String-Funktion SUBSTRING_INDEX
Syntax1: Diese Syntax verwendet SUBSTRING_INDEX mit dem Spaltennamen der SQL-Tabelle:
SELECT SUBSTRING_INDEX(Column_Name, symbol, starting_position) AS Alias_Name FROM Table_Name;
In der Syntax müssen wir den Namen der Spalte angeben, für die wir die String-Funktion SUBSTRING_INDEX ausführen möchten.
Syntax2: Diese Syntax verwendet die Funktion SUBSTRING_INDEX mit der Zeichenfolge:
SELECT SUBSTRING_INDEX(Original_String, symbol, starting_position);
Beispiele für die String-Funktion SUBSTRING_INDEX
Beispiel 1: Die folgende SELECT-Abfrage zeigt die vier Zeichen vor dem angegebenen Symbol im ursprünglichen Wort JAVA^TPOINT:
Methodenüberladung
SELECT SUBSTRING_INDEX( 'JAVA^TPOINT', '^', 1) AS SUBSTRING_INDEX_4_characters;
Ausgabe:
SUBSTRING_INDEX_4_characters |
JAVA |
Beispiel 2: Die folgende SELECT-Abfrage zeigt die SUBSTRING_INDEX 20 Zeichen aus der angegebenen Zeichenfolge:
SELECT SUBSTRING_INDEX( 'JAVATPOINT is a. good website', '.', 1 ) AS SUBSTRING_INDEX_before.symbol;
Ausgabe:
Java macht eine While-Schleife
SUBSTRING_INDEX_before.symbol |
JAVATPOINT ist ein |
Beispiel 3: Die folgende SELECT-Abfrage zeigt die 5 Zeichen von der dritten Position bis zum angegebenen Symbol im angegebenen „Glückwunschwort“:
SELECT SUBSTRING_INDEX( '[email protected]', '@', 3) AS SUBSTRING_INDEX_before@symbol;
Ausgabe:
SUBSTRING_INDEX_before@symbol |
LIEBE ES |
Beispiel 4: Die folgende SELECT-Abfrage zeigt die 20 Zeichen von der fünften Position bis zum angegebenen Symbol in der angegebenen Zeichenfolge:
SELECT SUBSTRING_INDEX('New Delhi is the capital# of India', '#', 5) AS SUBSTRING_INDEX_5_characters;
Ausgabe:
SUBSTRING_INDEX_before#symbol |
Delhi ist die Hauptstadt |
Beispiel 6: In diesem Beispiel wird die Funktion SUBSTRING_INDEX mit der Tabelle in Structured Query Language verwendet.
Um die SUBSTRING_INDEX-Funktion mit SQL zu verstehen, müssen wir zuerst die SQL-Tabelle mit der CREATE-Anweisung erstellen. Die Syntax zum Erstellen der neuen Tabelle in der SQL-Datenbank lautet wie folgt:
Kompatibilitätsprüfung
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) );
Die folgende CREATE-Anweisung erstellt die Student_Marks Tisch:
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 );
Mit den folgenden INSERT-Abfragen werden die Datensätze der Fakultäten der Hochschule eingefügt Student_Marks Tisch:
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);
Die folgende SELECT-Anweisung zeigt die oben eingefügten Datensätze an Student_Marks Tisch:
SELECT * FROM Student_Marks;
Schoolboy_Id | Schüler_Vorname | Schuljunge_Mittlerer_Name | Schuljunge_Nachname | Schoolboy_Class | Schuljunge_Stadt | Schoolboy_State | Schoolboy_Marks |
---|---|---|---|---|---|---|---|
4001 | Ein Mann | Roy | Sha#rma | 4 | Chandigarh | Wortspiel#jab | 88 |
4002 | Vish.al | Gurr | Sch#Waffe | 8 | Murthal Harya#na | 95 | |
4007 | Raj. | Singhania | Gupt#a | 6 | Ghaziabad | Uttar Pradesh | 91 |
4004 | Yas.h | Chopra | Singh#ania | 9 | Jaipur | Rajasthan# | 85 |
4011 | Vin.ay | Sharma | Roy# | 8 | Chandigarh | Punjab# | 94 |
4006 | Mann. Autsch | Singhania | Gup#ta | 5 | Ghaziabad | Uttar Pradesh | 83 |
4010 | RAM | Raheem | Gupt#a | 9 | Lucknow | Uttar Pradesh | 89 |
Abfrage 1: Die folgende SELECT-Abfrage verwendet die Funktion SUBSTRING_INDEX mit der Spalte „Student_First_Name“ der obigen Tabelle „Student_Marks“:
SELECT Student_First_Name, SUBSTRING_INDEX(Student_First_Name, ., 1) AS SUBSTRING_INDEX_before.symbol FROM Student_Marks;
Diese SQL-Anweisung zeigt die Zeichen von der ersten Position bis zum #-Symbol im Vornamen jedes Schülers.
Alphabet nach Zahlen
Ausgabe:
Student_First_Name | SUBSTRING_INDEX_before.symbol |
---|---|
Ein Mann | Oder |
Vish.al | Kommen |
Raj. | Raj |
Yas.h | Plastik |
Vin.ay | kommen |
Mann. Autsch | Mann |
RAM | Sonne |
Abfrage 2: Die folgende SELECT-Abfrage verwendet die Funktion SUBSTRING_INDEX mit der Spalte „Student_Last_Name“ der obigen Tabelle „Student_Marks“:
SELECT Student_Last_Name, SUBSTRING_INDEX(Student_Last_Name, #, 1) AS SUBSTRING_INDEX_before#symbol FROM Student_Marks;
Diese SQL-Anweisung zeigt die Zeichen von der ersten Position bis zum #-Symbol im Nachnamen jedes Schülers.
Ausgabe:
Student_Last_Name | SUBSTRING_INDEX_before#symbol |
---|---|
Sha#rma | Trinken |
Sch#Waffe | Sch |
Gupt#a | Gupt |
Singh#ania | Singh |
Roy# | Roy |
Gup#ta | Gup |
Gupt#a | Gupt |
Abfrage 3: Die folgende SELECT-Abfrage verwendet die Funktion SUBSTRING_INDEX mit der Spalte Student_Address der obigen Tabelle Student_Marks:
Fußnotenabschlag
SELECT Student_State, SUBSTRING_INDEX(Student_State, @, 2) AS SUBSTRING_INDEX_@symbol FROM Student_Marks;
Diese SQL-Anweisung zeigt die Zeichen von der zweiten Position bis zum angegebenen Symbol im Status jedes Schülers.
Ausgabe:
Student_State | SUBSTRING_INDEX_@symbol |
---|---|
Wortspiel@jab | A |
Harya@na | Arya |
Uttar Pra@adesh | ttar Pr |
Rajasthan@ | Uhrzeit Ort |
Punjab@ | unjab |
Uttar Pradesh@desh | ttar Pra |
Uttar Pra@adesh | ttar Pr |