logo

SUBSTRING_INDEX Funkcija v SQL

Funkcija niza SUBSTRING_INDEX prikazuje vse znake pred določenim simbolom v danem nizu.

Sintaksa nizovne funkcije SUBSTRING_INDEX

Sintaksa1: Ta sintaksa uporablja SUBSTRING_INDEX z imenom stolpca tabele SQL:

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

V sintaksi moramo določiti ime tistega stolpca, na katerem želimo izvesti funkcijo niza SUBSTRING_INDEX.

Sintaksa2: Ta sintaksa uporablja funkcijo SUBSTRING_INDEX z nizom:

java int v niz
 SELECT SUBSTRING_INDEX(Original_String, symbol, starting_position); 

Primeri funkcije niza SUBSTRING_INDEX

Primer 1: Naslednja poizvedba SELECT prikazuje štiri znake pred danim simbolom v izvirni besedi JAVA^TPOINT:

SELECT SUBSTRING_INDEX( 'JAVA^TPOINT', '^', 1) AS SUBSTRING_INDEX_4_znakov;

Izhod:

SUBSTRING_INDEX_4_znakov
JAVA

Primer 2: Naslednja poizvedba SELECT prikazuje SUBSTRING_INDEX 20 znakov iz danega niza:

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

Izhod:

SUBSTRING_INDEX_before.symbol
JAVATPOINT je a

Primer 3: Naslednja poizvedba SELECT prikazuje 5 znakov od tretjega mesta do danega simbola v dani besedi 'čestitke':

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

Izhod:

SUBSTRING_INDEX_pred@simbolom
VŠEČ MI JE

Primer 4: Naslednja poizvedba SELECT prikazuje 20 znakov od petega mesta do danega simbola v danem nizu:

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

Izhod:

SUBSTRING_INDEX_pred#simbolom
Delhi je glavno mesto

Primer 6: Ta primer uporablja funkcijo SUBSTRING_INDEX s tabelo v jeziku strukturiranih poizvedb.

ustvarjanje niza nizov v Javi

Da bi razumeli funkcijo SUBSTRING_INDEX s SQL, moramo najprej ustvariti tabelo SQL s stavkom CREATE. Sintaksa za ustvarjanje nove tabele v bazi podatkov SQL je naslednja:

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

Naslednji stavek CREATE ustvari Študentske_ocene tabela:

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

Spodnje poizvedbe INSERT vstavijo zapise visokošolskih fakultet v Študentske_ocene tabela:

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

Naslednji stavek SELECT prikaže vstavljene zapise zgoraj navedenega Študentske_ocene tabela:

 SELECT * FROM Student_Marks; 

Šolar_Id Ime_šolarja Šolar_srednje_ime Šolar_Priimek Šolar_razred Schoolboy_City Šolar_država Šolar_Marks
4001 Moški Roy Ša#rma 4 Chandigarh Pun#jab 88
4002 Vish.al Gurr S#orožje 8 Murthal Harya#na 95
4007 Raj. Singhania Gupt#a 6 Ghaziabad Utar Pradeš 91
4004 Yas.h Chopra Singh#ania 9 Jaipur Radžastan # 85
4011 Vin.ay Sharma Roy# 8 Chandigarh Pandžab # 94
4006 Človek Singhania Gup#ta 5 Ghaziabad Uttar Pra#desh 83
4010 Oven Raheem Gupt#a 9 Lucknow Utar Pradeš 89

Poizvedba 1: Naslednja poizvedba SELECT uporablja funkcijo SUBSTRING_INDEX s stolpcem Student_First_Name zgornje tabele Student_Marks:

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

Ta stavek SQL prikazuje znake od prvega mesta do simbola # v imenu vsakega študenta.

Izhod:

Študent_First_Name SUBSTRING_INDEX_before.symbol
Moški oz
Vish.al prihajajo
Raj. Raj
Yas.h Plastika
Vin.ay pridi
Človek Človek
Oven sonce

Poizvedba 2: Naslednja poizvedba SELECT uporablja funkcijo SUBSTRING_INDEX s stolpcem Student_Last_Name zgornje tabele Student_Marks:

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

Ta stavek SQL prikazuje znake od prvega mesta do simbola # v priimku vsakega študenta.

Izhod:

Študent_Priimek SUBSTRING_INDEX_pred#simbolom
Ša#rma Pijte
S#orožje Š
Gupt#a Gupt
Singh#ania Singh
Roy# Roy
Gup#ta Gup
Gupt#a Gupt

Poizvedba 3: Naslednja poizvedba SELECT uporablja funkcijo SUBSTRING_INDEX s stolpcem Student_Address zgornje tabele Student_Marks:

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

Ta stavek SQL prikazuje znake od drugega položaja do podanega simbola v stanju vsakega študenta.

Izhod:

Študentska_država SUBSTRING_INDEX_@symbol
Pun@jab a
Harya@na arya
Uttar Pra@adesh ttar Pr
Rajasthan@ čas kraj
Punjab@ unjab
Uttar Pradesh@desh ttar Pra
Uttar Pra@adesh ttar Pr