logo

SUBSTRING_INDEX Funkcija SQL

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