Рядкова функція SUBSTRING_INDEX показує всі символи перед певним символом у заданому рядку.
Синтаксис рядкової функції SUBSTRING_INDEX
Синтаксис1: Цей синтаксис використовує SUBSTRING_INDEX із назвою стовпця таблиці SQL:
SELECT SUBSTRING_INDEX(Column_Name, symbol, starting_position) AS Alias_Name FROM Table_Name;
У синтаксисі ми маємо вказати назву стовпця, для якого ми хочемо виконати рядкову функцію SUBSTRING_INDEX.
Синтаксис 2: Цей синтаксис використовує функцію SUBSTRING_INDEX із рядком:
SELECT SUBSTRING_INDEX(Original_String, symbol, starting_position);
Приклади рядкової функції SUBSTRING_INDEX
приклад 1: Наступний запит SELECT показує чотири символи перед заданим символом у вихідному слові JAVA^TPOINT:
очищення кешу npm
SELECT SUBSTRING_INDEX( 'JAVA^TPOINT', '^', 1) AS SUBSTRING_INDEX_4_characters;
Вихід:
SUBSTRING_INDEX_4_символів |
JAVA |
приклад 2: Наступний запит SELECT показує SUBSTRING_INDEX 20 символів із заданого рядка:
SELECT SUBSTRING_INDEX( 'JAVATPOINT is a. good website', '.', 1 ) AS SUBSTRING_INDEX_before.symbol;
Вихід:
SUBSTRING_INDEX_before.symbol |
JAVATPOINT - це a |
приклад 3: Наступний запит SELECT показує 5 символів від третьої позиції до заданого символу у заданому слові «вітання»:
SELECT SUBSTRING_INDEX( '[email protected]', '@', 3) AS SUBSTRING_INDEX_before@symbol;
Вихід:
включити програмування на C
SUBSTRING_INDEX_before@symbol |
ЛЮБЛЮ ЦЕ |
Приклад 4: Наступний запит SELECT показує 20 символів від п’ятої позиції до заданого символу в заданому рядку:
SELECT SUBSTRING_INDEX('New Delhi is the capital# of India', '#', 5) AS SUBSTRING_INDEX_5_characters;
Вихід:
SUBSTRING_INDEX_before#символ |
Делі є столицею |
Приклад 6. У цьому прикладі використовується функція SUBSTRING_INDEX із таблицею на мові структурованих запитів.
команда arp
Щоб зрозуміти функцію SUBSTRING_INDEX за допомогою SQL, ми повинні спочатку створити таблицю SQL за допомогою оператора CREATE. Синтаксис створення нової таблиці в базі даних SQL такий:
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) );
Наступний оператор CREATE створює Оцінки_учня стіл:
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 );
Наведені нижче запити INSERT вставляють записи факультетів коледжу в Оцінки_учня стіл:
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);
Наступний оператор SELECT відображає вставлені записи вищезазначеного Оцінки_учня стіл:
SELECT * FROM Student_Marks;
Schoolboy_Id | Школяр_Ім'я | Школяр_По батькові | Прізвище_школяра | Школяр_Клас | Школяр_Місто | Школяр_Держава | Школяр_Маркс |
---|---|---|---|---|---|---|---|
4001 | Чоловік | Рой | Ша#рма | 4 | Чандігарх | Каламбур#удар | 88 |
4002 | Vish.al | Гурр | Ш#зброя | 8 | Муртал Харья#на | 95 | |
4007 | Радж. | Сінганія | Gupt#a | 6 | Газіабад | Уттар-Прадеш | 91 |
4004 | Яс.х | Чопра | Сінгх#анія | 9 | Джайпур | Раджастан # | 85 |
4011 | Він.ай | Шарма | Рой# | 8 | Чандігарх | Пенджаб # | 94 |
4006 | Чоловіче | Сінганія | Гуп#та | 5 | Газіабад | Уттар Прадеш | 83 |
4010 | ОЗП | Рахім | Gupt#a | 9 | Лакнау | Уттар-Прадеш | 89 |
Запит 1: Наступний запит SELECT використовує функцію SUBSTRING_INDEX зі стовпцем Student_First_Name вищевказаної таблиці Student_Marks:
SELECT Student_First_Name, SUBSTRING_INDEX(Student_First_Name, ., 1) AS SUBSTRING_INDEX_before.symbol FROM Student_Marks;
Цей оператор SQL показує символи від першої позиції до символу # в імені кожного студента.
Вихід:
розраховувати окремо
Student_First_Name | SUBSTRING_INDEX_before.symbol |
---|---|
Чоловік | Або |
Vish.al | приходить |
Радж. | Радж |
Яс.х | пластик |
Він.ай | прийти |
Чоловіче | людина |
ОЗП | сонце |
Запит 2: Наступний запит SELECT використовує функцію SUBSTRING_INDEX зі стовпцем Student_Last_Name вищевказаної таблиці Student_Marks:
SELECT Student_Last_Name, SUBSTRING_INDEX(Student_Last_Name, #, 1) AS SUBSTRING_INDEX_before#symbol FROM Student_Marks;
Цей оператор SQL показує символи від першої позиції до символу # у прізвищі кожного студента.
Вихід:
Прізвище_учня | SUBSTRING_INDEX_before#символ |
---|---|
Ша#рма | пити |
Ш#зброя | Ш |
Gupt#a | Гупт |
Сінгх#анія | Сінгх |
Рой# | Рой |
Гуп#та | Гуп |
Gupt#a | Гупт |
Запит 3: У наступному запиті SELECT використовується функція SUBSTRING_INDEX зі стовпцем Student_Address у наведеній вище таблиці Student_Marks:
SELECT Student_State, SUBSTRING_INDEX(Student_State, @, 2) AS SUBSTRING_INDEX_@symbol FROM Student_Marks;
Цей оператор SQL показує символи від другої позиції до заданого символу в стані кожного студента.
Вихід:
Студентський_державний | SUBSTRING_INDEX_@символ |
---|---|
каламбур@джаб | a |
Harya@na | арія |
Уттар Пра@адеш | ttar Pr |
Rajasthan@ | час місце |
Пенджаб@ | unjab |
Уттар-Прадеш@desh | ттар Пра |
Уттар Пра@адеш | ttar Pr |