Strängfunktionen SUBSTR i Structured Query Language visar tecknen eller delsträngen från det specifika indexvärdet för den ursprungliga strängen. SQL låter dig också använda SUBSTR-funktionen med tabellerna.
Syntax för SUBSTR-strängfunktion
Syntax1: Den här syntaxen använder funktionen SUBSTR med kolumnnamnet för SQL-tabellen:
SELECT SUBSTR(Column_Name, Starting_Index_value, Length_of_string) AS Alias_Name FROM Table_Name;
I den här syntaxen måste vi definiera namnet på den kolumn som vi vill köra SUBSTR()-funktionen på. Här är parametern Length_of_string valfri. Om den utelämnas, extraherar den här funktionen hela strängen från startindexvärdet.
Syntax 2: Denna syntax använder funktionen SUBSTR med strängen:
SELECT SUBSTR(Original_String, Starting_Index_value, Length_of_string);
Syntax 2: Denna syntax använder SUBSTR-funktionen med ett enda tecken:
f-sträng python
SELECT SUBSTR(String, Starting_Index_value, 1);
Exempel på SUBSTR String-funktion
Exempel 1: Följande SELECT-fråga visar tecknen från 17thpositionen för den givna strängen.
ställ in java
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.
Produktion:
website for professionals
Exempel 2: Följande SELECT-fråga visar tecknen från -17thposition för den givna strängen:
SELECT SUBSTR( 'JavaTpoint is a website for professionals', -17, 5);
Denna SQL-fråga visar de fem tecknen från de senaste 17thsträngens position.
Produktion:
website for professionals
Exempel 3: Följande SELECT-fråga visar alla tecken från 5thsträngens position.
SELECT SUBSTR( 'New Delhi IS the Capital OF India', 5);
Produktion:
Delhi IS the Capital OF India
Exempel 4: Följande SELECT-fråga visar det enda tecknet från 8:anthsträngens position.
css-omslutningstext
SELECT SUBSTR( 'JavaTpoint', 8, 1);
Produktion:
n
Exempel 5: Det här exemplet använder funktionen SUBSTR med SQL-tabellen
I det här exemplet ska vi skapa en ny tabell där vi vill köra funktionen SUBSTR.
inkapsling java
I det här exemplet måste vi skapa en ny SQL-tabell genom vilken vi kör funktionen Concat() på kolumner. Syntaxen för att skapa den nya SQL-tabellen nämns i blocket nedan:
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) );
Följande CREATE-sats skapar Student_Marks tabell:
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 );
Nedanstående INSERT-frågor infogar uppgifterna för högskolefakulteterna i Student_Marks tabell:
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);
Följande SELECT-sats visar de infogade posterna ovan Student_Marks tabell:
SELECT * FROM Student_Marks;
Student-ID | Student_First_Name | Student_Mellannamn | Student_Efternamn | Student_Klass | Student_City | Student_State | Student_Marks |
---|---|---|---|---|---|---|---|
4001 | Säker | Roy | Sharma | 4 | Chandigarh | Punjab | 88 |
4002 | Vishal | Gurr | Sharma | 8 | Murthal | Haryana | 95 |
4007 | Raj | Singhania | Gupta | 6 | Ghaziabad | Uttar Pradesh | 91 |
4004 | Yash | Chopra | Singhania | 9 | Jaipur | Rajasthan | 85 |
4011 | Vinay | Sharma | Roy | 8 | Chandigarh | Punjab | 94 |
4006 | Manoj | Singhania | Gupta | 5 | Ghaziabad | Uttar Pradesh | 83 |
4010 | Bagge | Raheem | Gupta | 9 | Lyckligtvis | Uttar Pradesh | 89 |
Fråga 1: Följande SELECT-fråga använder funktionen SUBSTR med kolumnen Student_Last_Name i tabellen Student_Marks ovan:
SELECT Student_Last_Name, SUBSTR(Student_Last_Name, 2, 4) AS SUBSTR_2_4 FROM Student_Marks;
Denna SQL-sats visar de fyra tecknen efter 2:anndpositionen för varje elevs efternamn.
dubbel länkad lista
Produktion:
Student_Efternamn | SUBSTR_2_4 |
---|---|
Sharma | skada |
Sharma | skada |
Gupta | uppta |
Singhania | engelsk |
Roy | Ltd |
Gupta | uppta |
Gupta | uppta |
Fråga 2: Följande SELECT-fråga använder funktionen SUBSTR med kolumnen Student_Last_Name i tabellen Student_Marks ovan:
SELECT Student_Last_Name, SUBSTR(Student_Last_Name, -3, 2) AS SUBSTR_-3_2 FROM Student_Marks;
Denna SQL-sats visar de två tecknen från den tredje sista positionen i efternamnet för varje elev.
Produktion:
Student_Efternamn | SUBSTR_-3_2 |
---|---|
Sharma | rm |
Sharma | rm |
Gupta | pt |
Singhania | i |
Roy | Ro |
Gupta | pt |
Gupta | pt |