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:

указател за дереференция c

SELECT SUBSTRING_INDEX( 'JAVA^TPOINT', '^', 1) AS SUBSTRING_INDEX_4_characters;

произволно число между 1 и 10

Изход:

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; 

Изход:

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_преди#символ
Делхи е столицата

Пример 6: Този пример използва функцията SUBSTRING_INDEX с таблицата на език за структурирани заявки.

чаена лъжица срещу супена лъжица

За да разберем функцията 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; 

Ученик_Id Ученик_първо_име Ученик_Братско_име Ученик_Фамилия Ученик_клас Ученик_Град Ученик_държава Ученик_Маркс
4001 Човек Рой Ша#рма 4 Чандигарх Игра на думи 88
4002 Vish.al Гър Ш#оръжие 8 Муртал Харя#на 95
4007 Радж. Сингхания Gupt#a 6 Газиабад Утар Прадеш 91
4004 Яс.х Чопра Сингх#ания 9 Джайпур Раджастан # 85
4011 Вин.ай Шарма Рой# 8 Чандигарх Пенджаб # 94
4006 Човек Сингхания Гуп#та 5 Газиабад Утар Прадеш 83
4010 Ra.m Рахим 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 израз показва знаците от първата позиция до символа # в първото име на всеки ученик.

изтегляне на видеоклипове от youtube с vlc

Изход:

Студент_Име SUBSTRING_INDEX_before.symbol
Човек Или
Vish.al идва
Радж. Радж
Яс.х Пластмаса
Вин.ай идвам
човече човек
Ra.m слънце

Заявка 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_преди#символ
Ша#рма пийте
Ш#оръжие Ш
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 оператор показва знаците от втората позиция до дадения символ в състоянието на всеки ученик.

Изход:

Student_State SUBSTRING_INDEX_@symbol
каламбур@джаб а
Харя@на аря
Утар Пра@адеш ttar Pr
Раджастан@ време място
Пенджаб@ unjab
Утар Прадеш@desh ттар Пра
Утар Пра@адеш ttar Pr