logo

SUBSTRING_INDEX Funkcja w SQL

Funkcja łańcuchowa SUBSTRING_INDEX pokazuje wszystkie znaki przed określonym symbolem w danym ciągu.

Składnia funkcji łańcuchowej SUBSTRING_INDEX

Składnia 1: W tej składni zastosowano SUBSTRING_INDEX z nazwą kolumny tabeli SQL:

 SELECT SUBSTRING_INDEX(Column_Name, symbol, starting_position) AS Alias_Name FROM Table_Name; 

W składni musimy podać nazwę tej kolumny, na której chcemy wykonać funkcję string SUBSTRING_INDEX.

Składnia2: W tej składni używana jest funkcja SUBSTRING_INDEX z ciągiem znaków:

 SELECT SUBSTRING_INDEX(Original_String, symbol, starting_position); 

Przykłady funkcji SUBSTRING_INDEX String

Przykład 1: Poniższe zapytanie SELECT pokazuje cztery znaki przed danym symbolem w oryginalnym słowie JAVA^TPOINT:

WYBIERZ SUBSTRING_INDEX( 'JAVA^TPOINT', '^', 1) AS SUBSTRING_INDEX_4_znaki;

Wyjście:

SUBSTRING_INDEX_4_znaki
JAWA

Przykład 2: Poniższe zapytanie SELECT pokazuje 20 znaków SUBSTRING_INDEX z podanego ciągu:

metoda tostringowa Java
 SELECT SUBSTRING_INDEX( 'JAVATPOINT is a. good website', '.', 1 ) AS SUBSTRING_INDEX_before.symbol; 

Wyjście:

SUBSTRING_INDEX_przed.symbolem
JAVATPOINT jest

Przykład 3: Poniższe zapytanie SELECT pokazuje 5 znaków od trzeciej pozycji do podanego symbolu w danym słowie „gratulacje”:

 SELECT SUBSTRING_INDEX( '[email protected]', '@', 3) AS SUBSTRING_INDEX_before@symbol; 

Wyjście:

SUBSTRING_INDEX_przed@symbolem
KOCHAM TO

Przykład 4: Poniższe zapytanie SELECT pokazuje 20 znaków od piątej pozycji do danego symbolu w podanym ciągu:

 SELECT SUBSTRING_INDEX('New Delhi is the capital# of India', '#', 5) AS SUBSTRING_INDEX_5_characters; 

Wyjście:

SUBSTRING_INDEX_przed #symbolem
Delhi jest stolicą

Przykład 6: W tym przykładzie zastosowano funkcję SUBSTRING_INDEX z tabelą w Strukturalnym Języku Zapytań.

jak zwrócić tablicę Java

Aby zrozumieć funkcję SUBSTRING_INDEX w języku SQL, musimy najpierw utworzyć tabelę SQL za pomocą instrukcji CREATE. Składnia tworzenia nowej tabeli w bazie danych SQL jest następująca:

 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, Stude.nt_Marks) VALUES (4001, Ama.n, Roy, Sha#rma, 4, Chandigarh, Pun#jab, 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, Vish.al, Gurr, Sh#arma, 8, Murthal, Harya#na, 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, Gupt#a, 6, Ghaziabad, Uttar Pr#adesh, 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, Yas.h, Chopra, Singh#ania, 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, Vin.ay, 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, Man.oj, singhania, Gup#ta, 5, Ghaziabad, Uttar Pr#adesh, 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, Ra.m, Raheem, Gupt#a, 9, Lucknow, Uttar Pra#desh, 89); 

Następująca instrukcja SELECT wyświetla wstawione rekordy powyższego Oceny_uczniów tabela:

 SELECT * FROM Student_Marks; 

Uczeń_Id Uczeń_Imię Uczeń_Imię_Średniego_Ucznia Uczeń_Nazwisko Uczeń_Klasa Uczeń_Miasto Stan ucznia Uczeń_Marks
4001 Mężczyzna Roy Sha#rma 4 Czandigarh Słowo kluczowe: 88
4002 Vish.al Gurr Sh#broń 8 Murthal Harya#na 95
4007 Raj. Singapur Gupt#a 6 Ghaziabad Uttar Pradesh 91
4004 Yas.h Chopra Singh#ania 9 Jaipur Radżastan# 85
4011 Vin.ay Sharma Roy# 8 Czandigarh Pendżab# 94
4006 Człowieku Singapur Gup#ta 5 Ghaziabad Uttar Pra#desh 83
4010 Baran Raheem Gupt#a 9 Lucknow Uttar Pradesh 89

Zapytanie 1: Poniższe zapytanie SELECT wykorzystuje funkcję SUBSTRING_INDEX z kolumną Student_First_Name powyższej tabeli Student_Marks:

 SELECT Student_First_Name, SUBSTRING_INDEX(Student_First_Name, ., 1) AS SUBSTRING_INDEX_before.symbol FROM Student_Marks; 

Ta instrukcja SQL pokazuje znaki od pierwszej pozycji do symbolu # w imieniu każdego ucznia.

Wyjście:

Imię_ucznia SUBSTRING_INDEX_przed.symbolem
Mężczyzna Lub
Vish.al nadchodzący
Raj. Raj
Yas.h Plastikowy
Vin.ay przychodzić
Człowieku Człowiek
Baran Słońce

Zapytanie 2: Poniższe zapytanie SELECT wykorzystuje funkcję SUBSTRING_INDEX z kolumną Student_Last_Name powyższej tabeli Student_Marks:

 SELECT Student_Last_Name, SUBSTRING_INDEX(Student_Last_Name, #, 1) AS SUBSTRING_INDEX_before#symbol FROM Student_Marks; 

Ta instrukcja SQL pokazuje znaki od pierwszej pozycji do symbolu # w nazwisku każdego ucznia.

uczyń skrypt sh wykonywalnym

Wyjście:

Nazwisko_studenta SUBSTRING_INDEX_przed #symbolem
Sha#rma Drink
Sh#broń Cii
Gupt#a Gupt
Singh#ania Singh
Roy# Roy
Gup#ta Gup
Gupt#a Gupt

Zapytanie 3: Poniższe zapytanie SELECT wykorzystuje funkcję SUBSTRING_INDEX z kolumną Student_Address powyższej tabeli Student_Marks:

 SELECT Student_State, SUBSTRING_INDEX(Student_State, @, 2) AS SUBSTRING_INDEX_@symbol FROM Student_Marks; 

Ta instrukcja SQL pokazuje znaki od drugiej pozycji do danego symbolu w stanie każdego ucznia.

Wyjście:

Stan_ucznia SUBSTRING_INDEX_@symbol
Pun@jab A
Harya@na arya
Uttar Praadesh tatar pr
Radżastan@ miejsce czasu
Pendżab@ odsunąć
Uttar Pradesh@desh tatar Pra
Uttar Praadesh tatar pr