De stringfunctie SUBSTRING_INDEX toont alle tekens vóór het specifieke symbool in de gegeven string.
Syntaxis van SUBSTRING_INDEX tekenreeksfunctie
Syntaxis1: Deze syntaxis gebruikt de SUBSTRING_INDEX met de kolomnaam van de SQL-tabel:
SELECT SUBSTRING_INDEX(Column_Name, symbol, starting_position) AS Alias_Name FROM Table_Name;
In de syntaxis moeten we de naam opgeven van de kolom waarop we de tekenreeksfunctie SUBSTRING_INDEX willen uitvoeren.
Syntaxis2: Deze syntaxis gebruikt de functie SUBSTRING_INDEX met de tekenreeks:
SELECT SUBSTRING_INDEX(Original_String, symbol, starting_position);
Voorbeelden van SUBSTRING_INDEX Tekenreeksfunctie
Voorbeeld 1: De volgende SELECT-query toont de vier tekens vóór het gegeven symbool in het oorspronkelijke woord JAVA^TPOINT:
round robin-planning
SELECTEER SUBSTRING_INDEX( 'JAVA^TPOINT', '^', 1) ALS SUBSTRING_INDEX_4_characters;
Uitgang:
bool om Java te stringen
SUBSTRING_INDEX_4_tekens |
JAVA |
Voorbeeld 2: De volgende SELECT-query toont de SUBSTRING_INDEX 20 tekens uit de opgegeven tekenreeks:
SELECT SUBSTRING_INDEX( 'JAVATPOINT is a. good website', '.', 1 ) AS SUBSTRING_INDEX_before.symbol;
Uitgang:
SUBSTRING_INDEX_voor.symbool |
JAVATPOINT is een |
Voorbeeld 3: De volgende SELECT-query toont de 5 tekens vanaf de derde positie tot het gegeven symbool in het gegeven 'gefeliciteerd'-woord:
SELECT SUBSTRING_INDEX( '[email protected]', '@', 3) AS SUBSTRING_INDEX_before@symbol;
Uitgang:
tekenreeks formaat
SUBSTRING_INDEX_voor@symbool |
HOU ERVAN |
Voorbeeld 4: De volgende SELECT-query toont de 20 tekens vanaf de vijfde positie tot het gegeven symbool in de gegeven string:
SELECT SUBSTRING_INDEX('New Delhi is the capital# of India', '#', 5) AS SUBSTRING_INDEX_5_characters;
Uitgang:
SUBSTRING_INDEX_before#symbool |
Delhi is de hoofdstad |
Voorbeeld 6: In dit voorbeeld wordt de functie SUBSTRING_INDEX gebruikt met de tabel in Structured Query Language.
Om de functie SUBSTRING_INDEX met SQL te begrijpen, moeten we eerst de SQL-tabel maken met behulp van de CREATE-instructie. De syntaxis voor het maken van de nieuwe tabel in de SQL-database is als volgt:
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) );
Met de volgende CREATE-instructie wordt de Student_Marks tafel:
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 );
Met de onderstaande INSERT-query's worden de records van universiteitsfaculteiten ingevoegd in de Student_Marks tafel:
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);
De volgende SELECT-instructie geeft de ingevoegde records van het bovenstaande weer Student_Marks tafel:
SELECT * FROM Student_Marks;
Schooljongen_Id | Schooljongen_Voornaam | Schooljongen_middelste_naam | Achternaam schooljongen | Schooljongen_Klasse | Schooljongen_Stad | Schooljongen_State | Schooljongen_Marks |
---|---|---|---|---|---|---|---|
4001 | Een man | Roy | Sha#rma | 4 | Chandigarh | Woordspeling#jab | 88 |
4002 | Vish.al | Gurr | Sh#wapen | 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 | Mens | Singhania | Gup#ta | 5 | Ghaziabad | Uttar Pra#desh | 83 |
4010 | Ram | Raheem | Gupt#a | 9 | Lucknow | Uttar Pradesh | 89 |
Vraag 1: De volgende SELECT-query gebruikt de functie SUBSTRING_INDEX met de kolom Student_First_Name van de bovenstaande tabel Student_Marks:
SELECT Student_First_Name, SUBSTRING_INDEX(Student_First_Name, ., 1) AS SUBSTRING_INDEX_before.symbol FROM Student_Marks;
Deze SQL-instructie toont de tekens vanaf de eerste positie tot aan het #-symbool in de voornaam van elke leerling.
.06 als breuk
Uitgang:
Student_Voornaam | SUBSTRING_INDEX_voor.symbool |
---|---|
Een man | Of |
Vish.al | komt eraan |
Raj. | Raj |
Yas.h | Plastic |
Vin.ay | komen |
Mens | Man |
Ram | Zon |
Vraag 2: De volgende SELECT-query gebruikt de functie SUBSTRING_INDEX met de kolom Student_Last_Name van de bovenstaande tabel Student_Marks:
Linux-opdrachten maken map aan
SELECT Student_Last_Name, SUBSTRING_INDEX(Student_Last_Name, #, 1) AS SUBSTRING_INDEX_before#symbol FROM Student_Marks;
Deze SQL-instructie toont de tekens vanaf de eerste positie tot aan het #-symbool in de achternaam van elke leerling.
Uitgang:
Student_Achternaam | SUBSTRING_INDEX_before#symbool |
---|---|
Sha#rma | Drankje |
Sh#wapen | Sch |
Gupt#a | Gupt |
Singh#ania | Singh |
Roy# | Roy |
Gup#ta | Gup |
Gupt#a | Gupt |
Vraag 3: De volgende SELECT-query gebruikt de functie SUBSTRING_INDEX met de kolom Student_Address van de bovenstaande tabel Student_Marks:
SELECT Student_State, SUBSTRING_INDEX(Student_State, @, 2) AS SUBSTRING_INDEX_@symbol FROM Student_Marks;
Deze SQL-instructie toont de tekens vanaf de tweede positie tot het gegeven symbool in de toestand van elke leerling.
Uitgang:
Student_State | SUBSTRING_INDEX_@symbool |
---|---|
Woordspeling@jab | A |
Harya@na | Arya |
Uttar Pra@adesh | ttar Pr |
Rajasthan@ | tijd plaats |
Punjab@ | losmaken |
Uttar Pradesh@desh | ttar Pra |
Uttar Pra@adesh | ttar Pr |