logo

Funkcia SUBSTRING_INDEX v SQL

Funkcia reťazca SUBSTRING_INDEX zobrazuje všetky znaky pred špecifickým symbolom v danom reťazci.

Syntax funkcie reťazca SUBSTRING_INDEX

Syntax1: Táto syntax používa SUBSTRING_INDEX s názvom stĺpca tabuľky SQL:

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

V syntaxi musíme zadať názov toho stĺpca, na ktorom chceme vykonať funkciu reťazca SUBSTRING_INDEX.

Syntax2: Táto syntax používa funkciu SUBSTRING_INDEX s reťazcom:

kto urobil školu
 SELECT SUBSTRING_INDEX(Original_String, symbol, starting_position); 

Príklady funkcie reťazca SUBSTRING_INDEX

Príklad 1: Nasledujúci dotaz SELECT zobrazuje štyri znaky pred daným symbolom v pôvodnom slove JAVA^TPOINT:

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

Výkon:

SUBSTRING_INDEX_4_znakov
JAVA

Príklad 2: Nasledujúci dotaz SELECT zobrazuje SUBSTRING_INDEX 20 znakov z daného reťazca:

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

Výkon:

SUBSTRING_INDEX_before.symbol
JAVATPOINT je a

Príklad 3: Nasledujúci dotaz SELECT zobrazuje 5 znakov od tretej pozície po daný symbol v danom slove „gratulujem“:

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

Výkon:

reverzný reťazec java
SUBSTRING_INDEX_before@symbol
MILUJEM TO

Príklad 4: Nasledujúci dotaz SELECT zobrazuje 20 znakov od piatej pozície po daný symbol v danom reťazci:

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

Výkon:

SUBSTRING_INDEX_before#symbol
Dillí je hlavné mesto

Príklad 6: Tento príklad používa funkciu SUBSTRING_INDEX s tabuľkou v jazyku Structured Query Language.

Aby sme pochopili funkciu SUBSTRING_INDEX s SQL, musíme najprv vytvoriť SQL tabuľku pomocou príkazu CREATE. Syntax na vytvorenie novej tabuľky v databáze SQL je nasledovná:

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

Nasledujúci príkaz CREATE vytvorí Študent_Marks tabuľka:

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

Dotazy INSERT nižšie vkladajú záznamy fakúlt vysokých škôl do Študent_Marks tabuľka:

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

Nasledujúci príkaz SELECT zobrazí vložené záznamy vyššie Študent_Marks tabuľka:

 SELECT * FROM Student_Marks; 

Schoolboy_Id Meno_školáka Schoolboy_Middle_name Školák_Priezvisko Školák_trieda Schoolboy_City Školák_Štát Školák_Marks
4001 Muž Roy Sha#rma 4 Čandígarh Pun#jab 88
4002 Vish.al Gurr Sh#zbraň 8 Murthal Harya#na 95
4007 Raj. Singhania Gupt#a 6 Ghaziabad Uttarpradéš 91
4004 Yas.h Chopra Singh#ania 9 Jaipur Rajasthan# 85
4011 Vin.ay Sharma Roy# 8 Čandígarh pandžáb# 94
4006 Ach Singhania Gup#ta 5 Ghaziabad Uttar Pra#desh 83
4010 Ra.m Raheem Gupt#a 9 Lucknow Uttarpradéš 89

Dopyt 1: Nasledujúci dotaz SELECT používa funkciu SUBSTRING_INDEX so stĺpcom Student_First_Name vo vyššie uvedenej tabuľke Student_Marks:

premenovať adresár v linuxe
 SELECT Student_First_Name, SUBSTRING_INDEX(Student_First_Name, ., 1) AS SUBSTRING_INDEX_before.symbol FROM Student_Marks; 

Tento príkaz SQL zobrazuje znaky od prvej pozície po symbol # v krstnom mene každého študenta.

Výkon:

Meno_študenta SUBSTRING_INDEX_before.symbol
Muž Alebo
Vish.al prichádza
Raj. Raj
Yas.h Plastové
Vin.ay prísť
Ach Muž
Ra.m slnko

Dopyt 2: Nasledujúci SELECT dotaz používa funkciu SUBSTRING_INDEX so stĺpcom Student_Last_Name vo vyššie uvedenej tabuľke Student_Marks:

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

Tento príkaz SQL zobrazuje znaky od prvej pozície po symbol # v priezvisku každého študenta.

Výkon:

Študent_Priezvisko SUBSTRING_INDEX_before#symbol
Sha#rma Pite
Sh#zbraň Sh
Gupt#a Gupt
Singh#ania Singh
Roy# Roy
Gup#ta Gup
Gupt#a Gupt

Dopyt 3: Nasledujúci SELECT dotaz používa funkciu SUBSTRING_INDEX so stĺpcom Student_Address z vyššie uvedenej tabuľky Student_Marks:

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

Tento príkaz SQL zobrazuje znaky od druhej pozície po daný symbol v stave každého študenta.

Výkon:

Študent_Štát SUBSTRING_INDEX_@symbol
Pun@jab a
Harya@na arya
Uttar Pra@adesh ttar Pr
Rajasthan@ časové miesto
pandžáb@ odpichnúť
Uttar Pradesh@desh ttar Pra
Uttar Pra@adesh ttar Pr