logo

SUBSTRING_INDEX Funktion i SQL

SUBSTRING_INDEX strengfunktionen viser alle tegnene før det specifikke symbol i den givne streng.

Syntaks for SUBSTRING_INDEX strengfunktion

Syntaks 1: Denne syntaks bruger SUBSTRING_INDEX med kolonnenavnet på SQL-tabellen:

 SELECT SUBSTRING_INDEX(Column_Name, symbol, starting_position) AS Alias_Name FROM Table_Name; 

I syntaksen skal vi angive navnet på den kolonne, som vi ønsker at udføre SUBSTRING_INDEX-strengfunktionen på.

Syntaks 2: Denne syntaks bruger funktionen SUBSTRING_INDEX med strengen:

 SELECT SUBSTRING_INDEX(Original_String, symbol, starting_position); 

Eksempler på SUBSTRING_INDEX strengfunktion

Eksempel 1: Følgende SELECT-forespørgsel viser de fire tegn før det givne symbol i det originale ord JAVA^TPOINT:

hvornår kom windows 7 ud

VÆLG SUBSTRING_INDEX( 'JAVA^TPOINT', '^', 1) SOM SUBSTRING_INDEX_4_characters;

streng for lang

Produktion:

SUBSTRING_INDEX_4_tegn
JAVA

Eksempel 2: Følgende SELECT-forespørgsel viser SUBSTRING_INDEX 20 tegn fra den givne streng:

 SELECT SUBSTRING_INDEX( 'JAVATPOINT is a. good website', '.', 1 ) AS SUBSTRING_INDEX_before.symbol; 

Produktion:

SUBSTRING_INDEX_before.symbol
JAVATPOINT er en

Eksempel 3: Følgende SELECT-forespørgsel viser de 5 tegn fra den tredje position til det givne symbol i det givne 'tillykke'-ord:

 SELECT SUBSTRING_INDEX( '[email protected]', '@', 3) AS SUBSTRING_INDEX_before@symbol; 

Produktion:

SUBSTRING_INDEX_before@symbol
ELSKER DET

Eksempel 4: Følgende SELECT-forespørgsel viser de 20 tegn fra den femte position til det givne symbol i den givne streng:

 SELECT SUBSTRING_INDEX('New Delhi is the capital# of India', '#', 5) AS SUBSTRING_INDEX_5_characters; 

Produktion:

SUBSTRING_INDEX_before#symbol
Delhi er hovedstaden

Eksempel 6: Dette eksempel bruger funktionen SUBSTRING_INDEX med tabellen i Structured Query Language.

harald baldr

For at forstå SUBSTRING_INDEX-funktionen med SQL, skal vi først oprette SQL-tabellen ved hjælp af CREATE-sætningen. Syntaksen for at oprette den nye tabel i SQL-databasen er som følger:

 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) ); 

Følgende CREATE-sætning opretter Student_Marks bord:

 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 ); 

Nedenstående INSERT-forespørgsler indsætter optegnelserne for universitetets fakulteter i Student_Marks bord:

 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); 

Følgende SELECT-sætning viser de indsatte poster for ovenstående Student_Marks bord:

 SELECT * FROM Student_Marks; 

Skoledreng_Id Skoledreng_Fornavn Skoledreng_Mellemnavn Skoledreng_Efternavn Skoledreng_Klasse Skoledreng_by Skoledreng_Stat Skoledreng_Marks
4001 En mand Roy Sha#rma 4 Chandigarh Ordspil#jab 88
4002 Vish.al Gurr Sh#våben 8 Murthal Harya#na 95
4007 Raj. Singhania Gupt#a 6 Ghaziabad Uttar Pradesh 91
4004 Ja.h Chopra Singh#ania 9 Jaipur Rajasthan# 85
4011 Vin.ay Sharma Roy# 8 Chandigarh Punjab# 94
4006 Mand Singhania Gup#ta 5 Ghaziabad Uttar Pra#desh 83
4010 Vædder Raheem Gupt#a 9 Lucknow Uttar Pradesh 89

Forespørgsel 1: Følgende SELECT-forespørgsel bruger funktionen SUBSTRING_INDEX med kolonnen Student_First_Name i tabellen Student_Marks ovenfor:

 SELECT Student_First_Name, SUBSTRING_INDEX(Student_First_Name, ., 1) AS SUBSTRING_INDEX_before.symbol FROM Student_Marks; 

Denne SQL-sætning viser tegnene fra den første position til #-symbolet i fornavnet på hver elev.

bias og varians

Produktion:

Elev_Fornavn SUBSTRING_INDEX_before.symbol
En mand Eller
Vish.al kommer
Raj. Raj
Ja.h Plast
Vin.ay komme
Mand Mand
Vædder Sol

Forespørgsel 2: Følgende SELECT-forespørgsel bruger funktionen SUBSTRING_INDEX med kolonnen Student_Last_Name i tabellen Student_Marks ovenfor:

 SELECT Student_Last_Name, SUBSTRING_INDEX(Student_Last_Name, #, 1) AS SUBSTRING_INDEX_before#symbol FROM Student_Marks; 

Denne SQL-sætning viser tegnene fra den første position til #-symbolet i efternavnet på hver elev.

java åben fil

Produktion:

Elev_Efternavn SUBSTRING_INDEX_before#symbol
Sha#rma Drikke
Sh#våben Sh
Gupt#a Gupt
Singh#ania Singh
Roy# Roy
Gup#ta Gup
Gupt#a Gupt

Forespørgsel 3: Følgende SELECT-forespørgsel bruger funktionen SUBSTRING_INDEX med kolonnen Student_Address i tabellen Student_Marks ovenfor:

 SELECT Student_State, SUBSTRING_INDEX(Student_State, @, 2) AS SUBSTRING_INDEX_@symbol FROM Student_Marks; 

Denne SQL-sætning viser tegnene fra den anden position til det givne symbol i hver elevs tilstand.

Produktion:

Student_State SUBSTRING_INDEX_@symbol
Ordspil@jab -en
Harya@na arya
Uttar Pra@adesh ttar Pr
Rajasthan@ tid sted
Punjab@ unjab
Uttar Pradesh@desh ttar Pra
Uttar Pra@adesh ttar Pr