Функција стринга СУБСТРИНГ_ИНДЕКС приказује све знакове пре одређеног симбола у датом низу.
Синтакса функције стринга СУБСТРИНГ_ИНДЕКС
Синтакса 1: Ова синтакса користи СУБСТРИНГ_ИНДЕКС са именом колоне СКЛ табеле:
SELECT SUBSTRING_INDEX(Column_Name, symbol, starting_position) AS Alias_Name FROM Table_Name;
У синтакси морамо навести име колоне на којој желимо да извршимо функцију стринга СУБСТРИНГ_ИНДЕКС.
Синтакса 2: Ова синтакса користи функцију СУБСТРИНГ_ИНДЕКС са стрингом:
SELECT SUBSTRING_INDEX(Original_String, symbol, starting_position);
Примери стринг функције СУБСТРИНГ_ИНДЕКС
Пример 1: Следећи СЕЛЕЦТ упит приказује четири знака испред датог симбола у оригиналној речи ЈАВА^ТПОИНТ:
експертни системи
СЕЛЕЦТ СУБСТРИНГ_ИНДЕКС( 'ЈАВА^ТПОИНТ', '^', 1) КАО СУБСТРИНГ_ИНДЕКС_4_цхарацтерс;
Излаз:
СУБСТРИНГ_ИНДЕКС_4_карактера |
ЈАВА |
Пример 2: Следећи СЕЛЕЦТ упит приказује СУБСТРИНГ_ИНДЕКС 20 знакова из датог низа:
SELECT SUBSTRING_INDEX( 'JAVATPOINT is a. good website', '.', 1 ) AS SUBSTRING_INDEX_before.symbol;
Излаз:
СУБСТРИНГ_ИНДЕКС_бефоре.симбол |
ЈАВАТПОИНТ је а |
Пример 3: Следећи СЕЛЕЦТ упит приказује 5 знакова од треће позиције до датог симбола у датој речи „честитам“:
топологија мреже
SELECT SUBSTRING_INDEX( '[email protected]', '@', 3) AS SUBSTRING_INDEX_before@symbol;
Излаз:
СУБСТРИНГ_ИНДЕКС_бефоре@симбол |
СВИЂА МИ СЕ |
Пример 4: Следећи СЕЛЕЦТ упит приказује 20 знакова од пете позиције до датог симбола у датом низу:
буцкет сорт
SELECT SUBSTRING_INDEX('New Delhi is the capital# of India', '#', 5) AS SUBSTRING_INDEX_5_characters;
Излаз:
СУБСТРИНГ_ИНДЕКС_бефоре#симбол |
Делхи је главни град |
Пример 6: Овај пример користи функцију СУБСТРИНГ_ИНДЕКС са табелом у језику структурираних упита.
Да бисмо разумели функцију СУБСТРИНГ_ИНДЕКС са СКЛ-ом, морамо прво да креирамо СКЛ табелу користећи ЦРЕАТЕ израз. Синтакса за креирање нове табеле у СКЛ бази података је следећа:
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 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 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 * FROM Student_Marks;
Сцхоолбои_Ид | Сцхоолбои_Фирст_наме | Сцхоолбои_Миддле_наме | Школа_Презиме | Сцхоолбои_Цласс | Сцхоолбои_Цити | Сцхоолбои_Стате | Сцхоолбои_Маркс |
---|---|---|---|---|---|---|---|
4001 | Човек | Рои | Сха#рма | 4 | Цхандигарх | Пун#јаб | 88 |
4002 | Висх.ал | Гурр | С#веапон | 8 | Муртхал Хариа#на | 95 | |
4007 | Рај. | Сингханиа | Гупт#а | 6 | Гхазиабад | Утар Прадеш | 91 |
4004 | Иас.х | Цхопра | Сингх#аниа | 9 | Јаипур | Раџастан # | 85 |
4011 | Вин.аи | Схарма | Рои# | 8 | Цхандигарх | панџаб # | 94 |
4006 | Човече | Сингханиа | Гуп#та | 5 | Гхазиабад | Утар Пра#десх | 83 |
4010 | РАМ | Рахеем | Гупт#а | 9 | Луцкнов | Утар Прадеш | 89 |
Упит 1: Следећи СЕЛЕЦТ упит користи функцију СУБСТРИНГ_ИНДЕКС са колоном Студент_Фирст_Наме у горњој табели Студент_Маркс:
SELECT Student_First_Name, SUBSTRING_INDEX(Student_First_Name, ., 1) AS SUBSTRING_INDEX_before.symbol FROM Student_Marks;
Ова СКЛ изјава приказује знакове од прве позиције до симбола # у имену сваког ученика.
пандас итерровс
Излаз:
Име_ученика | СУБСТРИНГ_ИНДЕКС_бефоре.симбол |
---|---|
Човек | Ор |
Висх.ал | долази |
Рај. | Рај |
Иас.х | Пластика |
Вин.аи | доћи |
Човече | Човече |
РАМ | Сун |
2. упит: Следећи СЕЛЕЦТ упит користи функцију СУБСТРИНГ_ИНДЕКС са колоном Студент_Ласт_Наме у горњој табели Студент_Маркс:
SELECT Student_Last_Name, SUBSTRING_INDEX(Student_Last_Name, #, 1) AS SUBSTRING_INDEX_before#symbol FROM Student_Marks;
Ова СКЛ изјава приказује знакове од прве позиције до симбола # у презимену сваког ученика.
Излаз:
Мадхубала
Студент_Презиме | СУБСТРИНГ_ИНДЕКС_бефоре#симбол |
---|---|
Сха#рма | Пиће |
С#веапон | Сх |
Гупт#а | Гупт |
Сингх#аниа | Сингх |
Рои# | Рои |
Гуп#та | Гуп |
Гупт#а | Гупт |
3. упит: Следећи СЕЛЕЦТ упит користи функцију СУБСТРИНГ_ИНДЕКС са колоном Студент_Аддресс у горњој табели Студент_Маркс:
SELECT Student_State, SUBSTRING_INDEX(Student_State, @, 2) AS SUBSTRING_INDEX_@symbol FROM Student_Marks;
Ова СКЛ изјава приказује знакове од друге позиције до датог симбола у стању сваког ученика.
Излаз:
Студент_Стате | СУБСТРИНГ_ИНДЕКС_@симбол |
---|---|
Пун@јаб | а |
Хариа@на | ариа |
Уттар Пра@адесх | ттар Пр |
Рајастхан@ | време место |
панџаб@ | уњаб |
Уттар Прадесх@десх | ттар Пра |
Уттар Пра@адесх | ттар Пр |