SUBSTRING_INDEX dize işlevi, verilen dizedeki belirli sembolden önceki tüm karakterleri gösterir.
SUBSTRING_INDEX Dize İşlevinin Sözdizimi
Sözdizimi1: Bu sözdizimi, SQL tablosunun sütun adıyla SUBSTRING_INDEX'i kullanır:
SELECT SUBSTRING_INDEX(Column_Name, symbol, starting_position) AS Alias_Name FROM Table_Name;
Sözdiziminde SUBSTRING_INDEX string fonksiyonunu gerçekleştirmek istediğimiz sütunun adını belirtmemiz gerekiyor.
Sözdizimi2: Bu sözdizimi şu dizeyle SUBSTRING_INDEX işlevini kullanır:
SELECT SUBSTRING_INDEX(Original_String, symbol, starting_position);
SUBSTRING_INDEX String işlevi örnekleri
Örnek 1: Aşağıdaki SELECT sorgusu, orijinal JAVA^TPOINT sözcüğündeki verilen sembolden önceki dört karakteri gösterir:
autocad 2019 türkçe mediafire indir
SUBSTRING_INDEX('JAVA^TPOINT', '^', 1)'İ SUBSTRING_INDEX_4_characters OLARAK SEÇİN;
java liste dizisi
Çıktı:
SUBSTRING_INDEX_4_characters |
JAVA |
Örnek 2: Aşağıdaki SELECT sorgusu verilen dizedeki SUBSTRING_INDEX 20 karakterini gösterir:
SELECT SUBSTRING_INDEX( 'JAVATPOINT is a. good website', '.', 1 ) AS SUBSTRING_INDEX_before.symbol;
Çıktı:
SUBSTRING_INDEX_before.symbol |
JAVATPOINT bir |
Örnek 3: Aşağıdaki SELECT sorgusu, verilen 'tebrikler' sözcüğündeki üçüncü konumdan verilen sembole kadar olan 5 karakteri gösterir:
SELECT SUBSTRING_INDEX( '[email protected]', '@', 3) AS SUBSTRING_INDEX_before@symbol;
Çıktı:
SUBSTRING_INDEX_before@symbol |
ONU SEVİYORUM |
Örnek 4: Aşağıdaki SELECT sorgusu, verilen dizedeki beşinci konumdan verilen sembole kadar olan 20 karakteri gösterir:
SELECT SUBSTRING_INDEX('New Delhi is the capital# of India', '#', 5) AS SUBSTRING_INDEX_5_characters;
Çıktı:
SUBSTRING_INDEX_before#symbol |
Delhi başkenttir |
Örnek 6: Bu örnekte, Yapılandırılmış Sorgu Dili'ndeki tabloyla SUBSTRING_INDEX işlevi kullanılmaktadır.
dizi listesi
SUBSTRING_INDEX fonksiyonunu SQL ile anlamak için öncelikle CREATE deyimini kullanarak SQL tablosunu oluşturmamız gerekiyor. SQL veritabanında yeni tabloyu oluşturmaya yönelik sözdizimi aşağıdaki gibidir:
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) );
Aşağıdaki CREATE ifadesi şunu oluşturur: Öğrenci_Marks'ı masa:
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 );
Aşağıdaki INSERT sorguları üniversite Fakültelerinin kayıtlarını Öğrenci_Marks'ı masa:
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);
Aşağıdaki SELECT ifadesi yukarıdakilerin eklenen kayıtlarını görüntüler Öğrenci_Marks'ı masa:
SELECT * FROM Student_Marks;
Schoolboy_Id | Schoolboy_First_Name | Schoolboy_Middle_Name | Schoolboy_Last_Name | Öğrenci_Sınıfı | Schoolboy_City | Schoolboy_State | Schoolboy_Marks |
---|---|---|---|---|---|---|---|
4001 | Bir adam | Roy | Şa#rma | 4 | Çhandigarh | Pencap | 88 |
4002 | Vish.al | Gurr | Sh#silah | 8 | Murthal Harya#na | 95 | |
4007 | Raj. | Singhania | Gupt#a | 6 | Gaziabad | Uttar Pradeş | 91 |
4004 | Evet. | Chopra | Singh#ania | 9 | Jaipur | Racastan# | 85 |
4011 | Vin.ay | Şarma | Roy # | 8 | Çhandigarh | Pencap# | 94 |
4006 | Ah dostum. | Singhania | Gup#ta | 5 | Gaziabad | Uttar Pra#desh | 83 |
4010 | Veri deposu | Rahim | Gupt#a | 9 | şans eseri | Uttar Pradeş | 89 |
Sorgu 1: Aşağıdaki SELECT sorgusu, yukarıdaki Öğrenci_Marks tablosunun Öğrenci_First_Name sütunuyla birlikte SUBSTRING_INDEX işlevini kullanır:
SELECT Student_First_Name, SUBSTRING_INDEX(Student_First_Name, ., 1) AS SUBSTRING_INDEX_before.symbol FROM Student_Marks;
Bu SQL deyimi, her öğrencinin adının ilk konumundan # sembolüne kadar olan karakterleri gösterir.
kajal aggarwal
Çıktı:
Öğrenci_First_Name | SUBSTRING_INDEX_before.symbol |
---|---|
Bir adam | Veya |
Vish.al | gelen |
Raj. | Raj |
Evet. | Plastik |
Vin.ay | Gelmek |
Ah dostum. | Adam |
Veri deposu | Güneş |
Sorgu 2: Aşağıdaki SELECT sorgusu, yukarıdaki Öğrenci_Marks tablosunun Öğrenci_Last_Name sütunuyla birlikte SUBSTRING_INDEX işlevini kullanır:
SELECT Student_Last_Name, SUBSTRING_INDEX(Student_Last_Name, #, 1) AS SUBSTRING_INDEX_before#symbol FROM Student_Marks;
Bu SQL deyimi, her öğrencinin soyadındaki ilk konumdan # sembolüne kadar olan karakterleri gösterir.
uygulama uygulaması
Çıktı:
Öğrenci_Soyadı_Adı | SUBSTRING_INDEX_before#symbol |
---|---|
Şa#rma | İçmek |
Sh#silah | Ş |
Gupt#a | Gupt |
Singh#ania | Singh |
Roy# | Roy |
Gup#ta | Gup |
Gupt#a | Gupt |
Sorgu 3: Aşağıdaki SELECT sorgusu, yukarıdaki Öğrenci_Marks tablosunun Öğrenci_Adresi sütunuyla birlikte SUBSTRING_INDEX işlevini kullanır:
SELECT Student_State, SUBSTRING_INDEX(Student_State, @, 2) AS SUBSTRING_INDEX_@symbol FROM Student_Marks;
Bu SQL ifadesi, her öğrencinin durumunda ikinci konumdan verilen sembole kadar olan karakterleri gösterir.
Çıktı:
Öğrenci_Durumu | SUBSTRING_INDEX_@sembol |
---|---|
Pencap | A |
Harya@na | arya |
Uttar Pra@adesh | tar Pr |
Racastan @ | zaman yeri |
Pencap@ | yumruk atmak |
Uttar Pradesh@desh | tatar Pra |
Uttar Pra@adesh | tar Pr |