logo

SUBSTRING_INDEX Funkcija SQL

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