Funkcja ciągu SUBSTR w Structured Query Language pokazuje znaki lub podciąg z określonej wartości indeksu oryginalnego ciągu. SQL umożliwia także użycie funkcji SUBSTR z tabelami.
Składnia funkcji ciągu SUBSTR
Składnia 1: Ta składnia wykorzystuje funkcję SUBSTR z nazwą kolumny tabeli SQL:
SELECT SUBSTR(Column_Name, Starting_Index_value, Length_of_string) AS Alias_Name FROM Table_Name;
W tej składni musimy zdefiniować nazwę tej kolumny, na której chcemy wykonać funkcję SUBSTR(). W tym przypadku parametr Długość_ciągu jest opcjonalny. Jeśli zostanie pominięty, funkcja ta wyodrębni cały ciąg znaków z początkowej wartości indeksu.
Składnia2: W tej składni używana jest funkcja SUBSTR z ciągiem znaków:
SELECT SUBSTR(Original_String, Starting_Index_value, Length_of_string);
Składnia2: W tej składni używana jest funkcja SUBSTR z pojedynczym znakiem:
ile zer jest w 1 miliardzie
SELECT SUBSTR(String, Starting_Index_value, 1);
Przykłady funkcji SUBSTR String
Przykład 1: Poniższe zapytanie SELECT pokazuje znaki z zakresu 17tpołożenie danego ciągu.
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.
Wyjście:
website for professionals
Przykład 2: Poniższe zapytanie SELECT pokazuje znaki z zakresu -17tpozycja podanego ciągu:
pandy tworzące ramkę danych
SELECT SUBSTR( 'JavaTpoint is a website for professionals', -17, 5);
To zapytanie SQL pokazuje pięć znaków z ostatnich 17tpołożenie sznurka.
Wyjście:
website for professionals
Przykład 3: Poniższe zapytanie SELECT pokazuje wszystkie znaki z 5tpołożenie sznurka.
SELECT SUBSTR( 'New Delhi IS the Capital OF India', 5);
Wyjście:
Sprawdzanie zerowej wartości Java
Delhi IS the Capital OF India
Przykład 4: Poniższe zapytanie SELECT pokazuje pojedynczy znak z 8tpołożenie sznurka.
SELECT SUBSTR( 'JavaTpoint', 8, 1);
Wyjście:
n
Przykład 5: W tym przykładzie zastosowano funkcję SUBSTR z tabelą SQL
W tym przykładzie utworzymy nową tabelę, na której chcemy wykonać funkcję SUBSTR.
W tym przykładzie musimy utworzyć nową tabelę SQL, za pomocą której wykonamy funkcję Concat() na kolumnach. Składnia tworzenia nowej tabeli SQL jest opisana w poniższym 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) );
Następująca instrukcja CREATE tworzy plik Oceny_uczniów tabela:
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 );
Poniższe zapytania INSERT wstawiają zapisy wydziałów uczelni w pliku Oceny_uczniów 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);
Następująca instrukcja SELECT wyświetla wstawione rekordy powyższego Oceny_uczniów tabela:
scan.nextstring Java
SELECT * FROM Student_Marks;
Legitymacja studencka | Imię_ucznia | Imię_Średniego_Ucznia | Nazwisko_studenta | Klasa_ucznia | Student_Miasto | Stan_ucznia | Oceny_uczniów |
---|---|---|---|---|---|---|---|
4001 | Bezpieczna | Roy | Sharma | 4 | Czandigarh | Pendżab | 88 |
4002 | Vishal | Gurr | Sharma | 8 | Murthala | Hariana | 95 |
4007 | Raj | Singapur | Gupta | 6 | Ghaziabad | Uttar Pradesh | 91 |
4004 | Yash | Chopra | Singapur | 9 | Jaipur | Radżastan | 85 |
4011 | Vinay | Sharma | Roy | 8 | Czandigarh | Pendżab | 94 |
4006 | Manoj | Singapur | Gupta | 5 | Ghaziabad | Uttar Pradesh | 83 |
4010 | Baran | Raheem | Gupta | 9 | Lucknow | Uttar Pradesh | 89 |
Zapytanie 1: Poniższe zapytanie SELECT wykorzystuje funkcję SUBSTR z kolumną Student_Last_Name powyższej tabeli Student_Marks:
SELECT Student_Last_Name, SUBSTR(Student_Last_Name, 2, 4) AS SUBSTR_2_4 FROM Student_Marks;
Ta instrukcja SQL pokazuje cztery znaki po cyfrze 2IImiejsce nazwiska każdego ucznia.
Wyjście:
wzorce projektowe Java
Nazwisko_studenta | SUBSTR_2_4 |
---|---|
Sharma | szkoda |
Sharma | szkoda |
Gupta | wyżej |
Singapur | język angielski |
Roy | Sp. z o.o |
Gupta | wyżej |
Gupta | wyżej |
Zapytanie 2: Poniższe zapytanie SELECT wykorzystuje funkcję SUBSTR z kolumną Student_Last_Name powyższej tabeli Student_Marks:
SELECT Student_Last_Name, SUBSTR(Student_Last_Name, -3, 2) AS SUBSTR_-3_2 FROM Student_Marks;
Ta instrukcja SQL pokazuje dwa znaki od trzeciej od końca nazwiska każdego ucznia.
Wyjście:
Nazwisko_studenta | PODSTR_-3_2 |
---|---|
Sharma | rm |
Sharma | rm |
Gupta | pkt |
Singapur | W |
Roy | Ro |
Gupta | pkt |
Gupta | pkt |