logo

Funkcia SUBSTR v SQL

Funkcia reťazca SUBSTR v jazyku Structured Query Language zobrazuje znaky alebo podreťazec zo špecifickej hodnoty indexu pôvodného reťazca. SQL vám tiež umožňuje použiť funkciu SUBSTR s tabuľkami.

Syntax funkcie reťazca SUBSTR

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

 SELECT SUBSTR(Column_Name, Starting_Index_value, Length_of_string) AS Alias_Name FROM Table_Name; 

V tejto syntaxi musíme definovať názov toho stĺpca, na ktorom chceme vykonať funkciu SUBSTR(). Tu je parameter Length_of_string voliteľný. Ak je vynechaný, potom táto funkcia extrahuje celý reťazec z počiatočnej hodnoty indexu.

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

 SELECT SUBSTR(Original_String, Starting_Index_value, Length_of_string); 

Syntax2: Táto syntax používa funkciu SUBSTR s jedným znakom:

formátovať dátum v java
 SELECT SUBSTR(String, Starting_Index_value, 1); 

Príklady funkcie SUBSTR String

Príklad 1: Nasledujúci dotaz SELECT zobrazuje znaky zo 17thpolohu daného reťazca.

 SELECT SUBSTR( 'JavaTpoint is a website for professionals', 17, 24); This SQL query returns the 24 characters with spaces after the 17th position in the string. 

Výkon:

 website for professionals 

Príklad 2: Nasledujúci dotaz SELECT zobrazuje znaky z -17thpozícia daného reťazca:

sonu nigam
 SELECT SUBSTR( 'JavaTpoint is a website for professionals', -17, 5); 

Tento SQL dotaz zobrazuje päť znakov z posledných 17thpoloha struny.

Výkon:

 website for professionals 

Príklad 3: Nasledujúci dotaz SELECT zobrazuje všetky znaky z 5thpoloha struny.

 SELECT SUBSTR( 'New Delhi IS the Capital OF India', 5); 

Výkon:

previesť int na dvojitú javu
 Delhi IS the Capital OF India 

Príklad 4: Nasledujúci dotaz SELECT zobrazuje jeden znak z 8thpoloha struny.

 SELECT SUBSTR( 'JavaTpoint', 8, 1); 

Výkon:

 n 

Príklad 5: Tento príklad používa funkciu SUBSTR s tabuľkou SQL

V tomto príklade vytvoríme novú tabuľku, na ktorej chceme vykonať funkciu SUBSTR.

V tomto príklade musíme vytvoriť novú SQL tabuľku, prostredníctvom ktorej vykonáme funkciu Concat() na stĺpcoch. Syntax na vytvorenie novej tabuľky SQL je uvedená v bloku nižšie:

 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, Student_Marks) VALUES (4001, Aman, Roy, Sharma, 4, Chandigarh, Punjab, 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, Vishal, Gurr, Sharma, 8, Murthal, Haryana, 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, Gupta, 6, Ghaziabad, Uttar Pradesh, 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, Yash, Chopra, Singhania, 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, Vinay, 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, Manoj, singhania, Gupta, 5, Ghaziabad, Uttar Pradesh, 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, Ram, Raheem, Gupta, 9, Lucknow, Uttar Pradesh, 89); 

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

pandy iterrows
 SELECT * FROM Student_Marks; 

Študentská karta Meno_študenta Stredné_meno študenta Študent_Priezvisko Študent_trieda Študentské_mesto Študent_Štát Študent_Marks
4001 Bezpečný Roy Sharma 4 Čandígarh Pandžáb 88
4002 Vishal Gurr Sharma 8 Murthal Haryana 95
4007 Raj Singhania Gupta 6 Ghaziabad Uttarpradéš 91
4004 Yash Chopra Singhania 9 Jaipur Rajasthan 85
4011 Vinay Sharma Roy 8 Čandígarh Pandžáb 94
4006 Manoj Singhania Gupta 5 Ghaziabad Uttarpradéš 83
4010 Ram Raheem Gupta 9 Lucknow Uttarpradéš 89

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

 SELECT Student_Last_Name, SUBSTR(Student_Last_Name, 2, 4) AS SUBSTR_2_4 FROM Student_Marks; 

Tento príkaz SQL zobrazuje štyri znaky za 2ndpozíciu Priezvisko každého študenta.

Výkon:

správca úloh pre linux
Študent_Priezvisko SUBSTR_2_4
Sharma ublížiť
Sharma ublížiť
Gupta upta
Singhania Angličtina
Roy Ltd
Gupta upta
Gupta upta

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

 SELECT Student_Last_Name, SUBSTR(Student_Last_Name, -3, 2) AS SUBSTR_-3_2 FROM Student_Marks; 

Tento príkaz SQL zobrazuje dva znaky z tretej poslednej pozície Priezvisko každého študenta.

Výkon:

Študent_Priezvisko SUBSTR_-3_2
Sharma rm
Sharma rm
Gupta pt
Singhania v
Roy Ro
Gupta pt
Gupta pt