logo

SUBSTRING_INDEX Функція в SQL

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