Рядкова функція 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 |