Funkcija niza SUBSTR v jeziku strukturiranih poizvedb prikazuje znake ali podniz iz specifične vrednosti indeksa izvirnega niza. SQL omogoča tudi uporabo funkcije SUBSTR s tabelami.
Sintaksa nizovne funkcije SUBSTR
Sintaksa1: Ta sintaksa uporablja funkcijo SUBSTR z imenom stolpca tabele SQL:
SELECT SUBSTR(Column_Name, Starting_Index_value, Length_of_string) AS Alias_Name FROM Table_Name;
V tej sintaksi moramo določiti ime stolpca, na katerem želimo izvesti funkcijo SUBSTR(). Tu je parameter Length_of_string neobvezen. Če je izpuščen, potem ta funkcija izvleče celoten niz iz vrednosti začetnega indeksa.
Sintaksa2: Ta sintaksa uporablja funkcijo SUBSTR z nizom:
SELECT SUBSTR(Original_String, Starting_Index_value, Length_of_string);
Sintaksa2: Ta sintaksa uporablja funkcijo SUBSTR z enim znakom:
mesto v ZDA
SELECT SUBSTR(String, Starting_Index_value, 1);
Primeri funkcije SUBSTR String
Primer 1: Naslednja poizvedba SELECT prikazuje znake iz 17thpoložaj danega niza.
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.
Izhod:
reagirati vstavljeni slog
website for professionals
Primer 2: Naslednja poizvedba SELECT prikazuje znake iz -17thpoložaj danega niza:
SELECT SUBSTR( 'JavaTpoint is a website for professionals', -17, 5);
Ta poizvedba SQL prikazuje pet znakov od zadnjih 17thpoložaj vrvice.
Izhod:
website for professionals
Primer 3: Naslednja poizvedba SELECT prikazuje vse znake iz 5thpoložaj vrvice.
SELECT SUBSTR( 'New Delhi IS the Capital OF India', 5);
Izhod:
Delhi IS the Capital OF India
Primer 4: Naslednja poizvedba SELECT prikazuje en znak iz 8thpoložaj vrvice.
SELECT SUBSTR( 'JavaTpoint', 8, 1);
Izhod:
n
Primer 5: Ta primer uporablja funkcijo SUBSTR s tabelo SQL
značilnosti java
V tem primeru bomo ustvarili novo tabelo, na kateri želimo izvesti funkcijo SUBSTR.
V tem primeru moramo ustvariti novo tabelo SQL, prek katere bomo izvajali funkcijo Concat() na stolpcih. Sintaksa za ustvarjanje nove tabele SQL je omenjena v spodnjem bloku:
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:
svm
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, 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);
Naslednji stavek SELECT prikaže vstavljene zapise zgoraj Študentske_ocene tabela:
SELECT * FROM Student_Marks;
Študent_Id | Študent_First_Name | Srednje_ime_študenta | Študent_Priimek | Študentski_razred | Študentsko_mesto | Študentska_država | Študentske_ocene |
---|---|---|---|---|---|---|---|
4001 | Varno | Roy | Sharma | 4 | Chandigarh | Punjab | 88 |
4002 | Vishal | Gurr | Sharma | 8 | Murthal | Haryana | 95 |
4007 | Raj | Singhania | Gupta | 6 | Ghaziabad | Utar Pradeš | 91 |
4004 | Jaš | Chopra | Singhania | 9 | Jaipur | Rajasthan | 85 |
4011 | Vinay | Sharma | Roy | 8 | Chandigarh | Punjab | 94 |
4006 | Manoj | Singhania | Gupta | 5 | Ghaziabad | Utar Pradeš | 83 |
4010 | Oven | Raheem | Gupta | 9 | Lucknow | Utar Pradeš | 89 |
Poizvedba 1: Naslednja poizvedba SELECT uporablja funkcijo SUBSTR s stolpcem Student_Last_Name zgornje tabele Student_Marks:
SELECT Student_Last_Name, SUBSTR(Student_Last_Name, 2, 4) AS SUBSTR_2_4 FROM Student_Marks;
Ta stavek SQL prikazuje štiri znake za 2ndpoložaj priimka vsakega študenta.
Izhod:
Študent_Priimek | SUBSTR_2_4 |
---|---|
Sharma | škodo |
Sharma | škodo |
Gupta | upta |
Singhania | angleščina |
Roy | doo |
Gupta | upta |
Gupta | upta |
Poizvedba 2: Naslednja poizvedba SELECT uporablja funkcijo SUBSTR s stolpcem Student_Last_Name zgornje tabele Student_Marks:
SELECT Student_Last_Name, SUBSTR(Student_Last_Name, -3, 2) AS SUBSTR_-3_2 FROM Student_Marks;
Ta stavek SQL prikazuje dva znaka s tretjega zadnjega mesta priimka vsakega študenta.
strint v notr
Izhod:
Študent_Priimek | SUBSTR_-3_2 |
---|---|
Sharma | rm |
Sharma | rm |
Gupta | točka |
Singhania | v |
Roy | Ro |
Gupta | točka |
Gupta | točka |