logo

SUBSTR-functie in SQL

De tekenreeksfunctie SUBSTR in Structured Query Language toont de tekens of subtekenreeks van de specifieke indexwaarde van de originele tekenreeks. Met SQL kunt u ook de functie SUBSTR gebruiken met de tabellen.

Syntaxis van de SUBSTR-tekenreeksfunctie

Syntaxis1: Deze syntaxis gebruikt de functie SUBSTR met de kolomnaam van de SQL-tabel:

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

In deze syntaxis moeten we de naam definiëren van de kolom waarop we de functie SUBSTR() willen uitvoeren. Hier is de parameter Length_of_string optioneel. Als dit wordt weggelaten, extraheert deze functie de hele tekenreeks uit de startindexwaarde.

Syntaxis2: Deze syntaxis gebruikt de functie SUBSTR met de tekenreeks:

 SELECT SUBSTR(Original_String, Starting_Index_value, Length_of_string); 

Syntaxis2: Deze syntaxis gebruikt de functie SUBSTR met één enkel teken:

atoi c
 SELECT SUBSTR(String, Starting_Index_value, 1); 

Voorbeelden van de SUBSTR String-functie

Voorbeeld 1: De volgende SELECT-query toont de tekens uit de 17epositie van de gegeven string.

java naar json-object
 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. 

Uitgang:

 website for professionals 

Voorbeeld 2: De volgende SELECT-query toont de tekens uit de -17epositie van de gegeven string:

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

Deze SQL-query toont de vijf tekens van de laatste 17epositie van de snaar.

Uitgang:

 website for professionals 

Voorbeeld 3: De volgende SELECT-query toont alle tekens uit de 5epositie van de snaar.

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

Uitgang:

 Delhi IS the Capital OF India 

Voorbeeld 4: De volgende SELECT-query toont het enkele teken uit de 8epositie van de snaar.

k dichtstbijzijnde buuralgoritme
 SELECT SUBSTR( 'JavaTpoint', 8, 1); 

Uitgang:

 n 

Voorbeeld 5: In dit voorbeeld wordt de functie SUBSTR gebruikt met de SQL-tabel

In dit voorbeeld gaan we een nieuwe tabel maken waarop we de functie SUBSTR willen uitvoeren.

Armstrong nummer

In dit voorbeeld moeten we een nieuwe SQL-tabel maken waarmee we de functie Concat() op kolommen uitvoeren. De syntaxis voor het maken van de nieuwe SQL-tabel wordt vermeld in het onderstaande blok:

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

Met de volgende CREATE-instructie wordt de Student_Marks tafel:

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

Met de onderstaande INSERT-query's worden de records van universiteitsfaculteiten ingevoegd in de Student_Marks tafel:

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

De volgende SELECT-instructie geeft de ingevoegde records van het bovenstaande weer Student_Marks tafel:

 SELECT * FROM Student_Marks; 

Student_ID Student_Voornaam Student_Middennaam Student_Achternaam Student_Klasse Student_Stad Student_State Student_Marks
4001 Veilig Roy Sharma 4 Chandigarh Punjab 88
4002 Vishal Gurr Sharma 8 Murthal Haryana 95
4007 Raj Singhania Gupta 6 Ghaziabad Uttar Pradesh 91
4004 Jaj Chopra Singhania 9 Jaipur Rajasthan 85
4011 Vinay Sharma Roy 8 Chandigarh Punjab 94
4006 Manoj Singhania Gupta 5 Ghaziabad Uttar Pradesh 83
4010 Ram Raheem Gupta 9 Lucknow Uttar Pradesh 89

Vraag 1: De volgende SELECT-query gebruikt de functie SUBSTR met de kolom Student_Last_Name van de bovenstaande tabel Student_Marks:

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

Deze SQL-instructie toont de vier tekens na de 2nlpositie van de achternaam van elke student.

oeps concepten

Uitgang:

Student_Achternaam SUBSTR_2_4
Sharma leed
Sharma leed
Gupta op
Singhania Engels
Roy Ltd
Gupta op
Gupta op

Vraag 2: De volgende SELECT-query gebruikt de functie SUBSTR met de kolom Student_Last_Name van de bovenstaande tabel Student_Marks:

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

Deze SQL-instructie toont de twee tekens vanaf de derde laatste positie van de achternaam van elke leerling.

Uitgang:

Student_Achternaam SUBSTR_-3_2
Sharma rm
Sharma rm
Gupta pt
Singhania in
Roy Ro
Gupta pt
Gupta pt