SUBSTRING_INDEX eilutės funkcija rodo visus simbolius prieš konkretų simbolį nurodytoje eilutėje.
SUBSTRING_INDEX eilutės funkcijos sintaksė
1 sintaksė: Ši sintaksė naudoja SUBSTRING_INDEX su SQL lentelės stulpelio pavadinimu:
SELECT SUBSTRING_INDEX(Column_Name, symbol, starting_position) AS Alias_Name FROM Table_Name;
Sintaksėje turime nurodyti to stulpelio, kuriame norime atlikti SUBSTRING_INDEX eilutės funkciją, pavadinimą.
2 sintaksė: Ši sintaksė naudoja SUBSTRING_INDEX funkciją su eilute:
SELECT SUBSTRING_INDEX(Original_String, symbol, starting_position);
SUBSTRING_INDEX eilutės funkcijos pavyzdžiai
1 pavyzdys: Ši SELECT užklausa rodo keturis simbolius prieš nurodytą simbolį pradiniame žodyje JAVA^TPOINT:
SELECT SUBSTRING_INDEX('JAVA^TPOINT', '^', 1) KAIP SUBSTRING_INDEX_4_simboliai;
Išvestis:
SUBSTRING_INDEX_4_simbolių |
JAVA |
2 pavyzdys: Ši SELECT užklausa rodo SUBSTRING_INDEX 20 simbolių iš nurodytos eilutės:
SELECT SUBSTRING_INDEX( 'JAVATPOINT is a. good website', '.', 1 ) AS SUBSTRING_INDEX_before.symbol;
Išvestis:
SUBSTRING_INDEX_prieš.simbolis |
JAVATPOINT yra a |
3 pavyzdys: Ši PASIRINKIMO užklausa rodo 5 simbolius nuo trečios pozicijos iki nurodyto simbolio duotame sveikinimo žodyje:
SELECT SUBSTRING_INDEX( '[email protected]', '@', 3) AS SUBSTRING_INDEX_before@symbol;
Išvestis:
SUBSTRING_INDEX_prieš@simbolis |
MYLIU |
4 pavyzdys: Ši SELECT užklausa rodo 20 simbolių nuo penktos padėties iki nurodyto simbolio nurodytoje eilutėje:
SELECT SUBSTRING_INDEX('New Delhi is the capital# of India', '#', 5) AS SUBSTRING_INDEX_5_characters;
Išvestis:
SUBSTRING_INDEX_prieš#simbolis |
Delis yra sostinė |
6 pavyzdys: Šiame pavyzdyje naudojama funkcija SUBSTRING_INDEX su lentele struktūrinės užklausos kalba.
Norėdami suprasti SUBSTRING_INDEX funkciją su SQL, pirmiausia turime sukurti SQL lentelę naudodami CREATE sakinį. Naujos lentelės kūrimo SQL duomenų bazėje sintaksė yra tokia:
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) );
Šis CREATE sakinys sukuria Studentas_Žymės lentelė:
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 );
Toliau pateiktos INSERT užklausos įterpia kolegijos fakultetų įrašus į Studentas_Žymės lentelė:
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);
Toliau pateiktame SELECT sakinyje rodomi įterpti anksčiau pateiktų įrašai Studentas_Žymės lentelė:
SELECT * FROM Student_Marks;
Moksleivis_Id | Moksleivio_Vardas | Moksleivio_Vidurinis_vardas | Moksleivio_Pavardė | Moksleivio_klasė | Moksleivis_Miestas | Moksleivis_Valstybė | Moksleivis_Marksas |
---|---|---|---|---|---|---|---|
4001 | Vyras | Rojus | Ša#rma | 4 | Čandigaras | Pun#jab | 88 |
4002 | Vish.al | Gurr | Š# ginklas | 8 | Murthal Harya#na | 95 | |
4007 | Raj. | Singhania | Gupt#a | 6 | Gaziabadas | Utar Pradešas | 91 |
4004 | Yas.h | Chopra | Singh#ania | 9 | Džaipuras | Radžastanas# | 85 |
4011 m | Vin.ay | Šarma | Roy# | 8 | Čandigaras | Punjab# | 94 |
4006 | Žmogau | Singhania | Gup#ta | 5 | Gaziabadas | Utar Pradešas | 83 |
4010 m | Ram.m | Raheem | Gupt#a | 9 | Laknau | Utar Pradešas | 89 |
1 užklausa: Šioje SELECT užklausoje naudojama funkcija SUBSTRING_INDEX su aukščiau pateiktos Student_Marks lentelės stulpeliu Student_First_Name:
SELECT Student_First_Name, SUBSTRING_INDEX(Student_First_Name, ., 1) AS SUBSTRING_INDEX_before.symbol FROM Student_Marks;
Šis SQL sakinys rodo simbolius nuo pirmosios pozicijos iki simbolio # kiekvieno mokinio vardo varde.
Išvestis:
Studento_Vardas | SUBSTRING_INDEX_prieš.simbolis |
---|---|
Vyras | Arba |
Vish.al | ateina |
Raj. | Raj |
Yas.h | Plastmasinis |
Vin.ay | ateiti |
Žmogau | Vyras |
Ram.m | Saulė |
2 užklausa: Šioje SELECT užklausoje naudojama funkcija SUBSTRING_INDEX su aukščiau pateiktos Student_Marks lentelės stulpeliu Student_Last_Name:
SELECT Student_Last_Name, SUBSTRING_INDEX(Student_Last_Name, #, 1) AS SUBSTRING_INDEX_before#symbol FROM Student_Marks;
Šis SQL sakinys rodo simbolius nuo pirmosios pozicijos iki simbolio # kiekvieno mokinio pavardėje.
Išvestis:
abėcėlė sunumeruota
Mokinio_Pavardė | SUBSTRING_INDEX_prieš#simbolis |
---|---|
Ša#rma | Gerti |
Š# ginklas | Sh |
Gupt#a | Gupt |
Singh#ania | Singhas |
Roy# | Rojus |
Gup#ta | Gup |
Gupt#a | Gupt |
3 užklausa: Šioje SELECT užklausoje naudojama funkcija SUBSTRING_INDEX su aukščiau pateiktos Student_Marks lentelės stulpeliu Student_Address:
SELECT Student_State, SUBSTRING_INDEX(Student_State, @, 2) AS SUBSTRING_INDEX_@symbol FROM Student_Marks;
Šis SQL sakinys rodo simbolius nuo antros padėties iki nurodyto simbolio kiekvieno mokinio būsenoje.
Išvestis:
Studentų_valstybė | SUBSTRING_INDEX_@simbolis |
---|---|
Pun@jab | a |
Harya@na | arija |
Utar Pra@adesh | ttar Pr |
Rajasthan@ | laiko vieta |
Punjab@ | unjab |
Utar Pradešas@desh | ttar Pra |
Utar Pra@adesh | ttar Pr |