Virknes funkcija SUBSTRING_INDEX parāda visas rakstzīmes pirms konkrētā simbola dotajā virknē.
Virknes funkcijas SUBSTRING_INDEX sintakse
Sintakse1: Šī sintakse izmanto SUBSTRING_INDEX ar SQL tabulas kolonnas nosaukumu:
SELECT SUBSTRING_INDEX(Column_Name, symbol, starting_position) AS Alias_Name FROM Table_Name;
Sintaksē mums ir jānorāda tās kolonnas nosaukums, kurā vēlamies izpildīt virknes funkciju SUBSTRING_INDEX.
Sintakse 2: Šī sintakse izmanto funkciju SUBSTRING_INDEX ar virkni:
SELECT SUBSTRING_INDEX(Original_String, symbol, starting_position);
Virknes funkcijas SUBSTRING_INDEX piemēri
1. piemērs: Šis SELECT vaicājums parāda četras rakstzīmes pirms dotā simbola sākotnējā vārdā JAVA^TPOINT:
SELECT SUBSTRING_INDEX('JAVA^TPOINT', '^', 1) KĀ SUBSTRING_INDEX_4_rakstzīmes;
Izvade:
SUBSTRING_INDEX_4_rakstzīmes |
JAVA |
2. piemērs: Šis SELECT vaicājums parāda SUBSTRING_INDEX 20 rakstzīmes no dotās virknes:
SELECT SUBSTRING_INDEX( 'JAVATPOINT is a. good website', '.', 1 ) AS SUBSTRING_INDEX_before.symbol;
Izvade:
npm notīrīt kešatmiņu
SUBSTRING_INDEX_before.simbols |
JAVATPOINT ir a |
3. piemērs: Šis SELECT vaicājums parāda 5 rakstzīmes no trešās pozīcijas līdz norādītajam simbolam dotajā apsveikuma vārdā:
SELECT SUBSTRING_INDEX( '[email protected]', '@', 3) AS SUBSTRING_INDEX_before@symbol;
Izvade:
SUBSTRING_INDEX_pirms@simbols |
MĪLU TO |
4. piemērs: Šis SELECT vaicājums parāda 20 rakstzīmes no piektās pozīcijas līdz norādītajam simbolam dotajā virknē:
SELECT SUBSTRING_INDEX('New Delhi is the capital# of India', '#', 5) AS SUBSTRING_INDEX_5_characters;
Izvade:
SUBSTRING_INDEX_pirms#simbols |
Deli ir galvaspilsēta |
6. piemērs: šajā piemērā tiek izmantota funkcija SUBSTRING_INDEX ar tabulu strukturētā vaicājuma valodā.
Lai saprastu funkciju SUBSTRING_INDEX ar SQL, vispirms ir jāizveido SQL tabula, izmantojot priekšrakstu CREATE. Sintakse jaunās tabulas izveidei SQL datu bāzē ir šāda:
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 priekšraksts izveido Students_Marks tabula:
java pārvērst char par int
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 );
Tālāk sniegtie INSERT vaicājumi ievieto koledžas fakultāšu ierakstus Students_Marks tabula:
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);
Šis SELECT priekšraksts parāda iepriekš minēto ievietotos ierakstus Students_Marks tabula:
SELECT * FROM Student_Marks;
Skolnieka_ID | Skolnieka_Vārds | Skolnieka_Vārds | Skolnieka_Uzvārds | Skolnieku_klase | Skolnieku_pilsēta | Skolnieks_Štats | Skolnieks_Marks |
---|---|---|---|---|---|---|---|
4001 | Vīrietis | Rojs | Ša#rma | 4 | Čandigarha | Pun#jab | 88 |
4002 | Vish.al | Gurr | Sh#ierocis | 8 | Murthal Harya#na | 95 | |
4007 | Raj. | Singhania | Gupt#a | 6 | Ghaziabad | Utarpradeša | 91 |
4004 | Yas.h | Chopra | Singh#ania | 9 | Džaipura | Rajasthan# | 85 |
4011 | Vin.ay | Šarma | Roy# | 8 | Čandigarha | Pendžab# | 94 |
4006 | Cilvēks | Singhania | Gup#ta | 5 | Ghaziabad | Utarpra#deša | 83 |
4010. gads | Ram.m | Raheem | Gupt#a | 9 | Laknava | Utarpradeša | 89 |
1. vaicājums: Šajā SELECT vaicājumā tiek izmantota funkcija SUBSTRING_INDEX ar kolonnu Student_First_Name iepriekš tabulā Student_Marks:
SELECT Student_First_Name, SUBSTRING_INDEX(Student_First_Name, ., 1) AS SUBSTRING_INDEX_before.symbol FROM Student_Marks;
Šis SQL priekšraksts parāda rakstzīmes no pirmās pozīcijas līdz simbolam # katra skolēna vārdā.
Izvade:
Studenta_vārds | SUBSTRING_INDEX_before.simbols |
---|---|
Vīrietis | Or |
Vish.al | nāk |
Raj. | Raj |
Yas.h | Plastmasa |
Vin.ay | nāc |
Cilvēks | Cilvēks |
Ram.m | Sv |
2. vaicājums: Šis SELECT vaicājums izmanto funkciju SUBSTRING_INDEX ar kolonnu Student_Last_Name iepriekš tabulā Student_Marks:
SELECT Student_Last_Name, SUBSTRING_INDEX(Student_Last_Name, #, 1) AS SUBSTRING_INDEX_before#symbol FROM Student_Marks;
Šis SQL priekšraksts parāda rakstzīmes no pirmās pozīcijas līdz simbolam # katra skolēna uzvārdā.
Izvade:
Studenta_Uzvārds | SUBSTRING_INDEX_pirms#simbols |
---|---|
Ša#rma | Dzert |
Sh#ierocis | Sh |
Gupt#a | Gupt |
Singh#ania | Singh |
Roy# | Rojs |
Gup#ta | Gup |
Gupt#a | Gupt |
3. vaicājums: Šis SELECT vaicājums izmanto funkciju SUBSTRING_INDEX ar studenta_adreses kolonnu iepriekš tabulā Student_Marks:
SELECT Student_State, SUBSTRING_INDEX(Student_State, @, 2) AS SUBSTRING_INDEX_@symbol FROM Student_Marks;
Šis SQL priekšraksts parāda rakstzīmes no otrās pozīcijas līdz norādītajam simbolam katra skolēna stāvoklī.
Izvade:
Studenta_valsts | SUBSTRING_INDEX_@simbols |
---|---|
Pun@jab | a |
Harya@na | arija |
Uttar Pra@adesh | ttar Pr |
Rajasthan@ | laika vieta |
Pendžab@ | unjab |
Uttar Pradesh@desh | ttar Pra |
Uttar Pra@adesh | ttar Pr |