Yapılandırılmış Sorgu Dili'ndeki SUBSTR dize işlevi, orijinal dizenin belirli dizin değerindeki karakterleri veya alt dizeyi gösterir. SQL ayrıca tablolarla SUBSTR işlevini kullanmanıza da olanak tanır.
SUBSTR Dizgesi İşlevinin Sözdizimi
Sözdizimi1: Bu sözdizimi, SQL tablosunun sütun adıyla SUBSTR işlevini kullanır:
SELECT SUBSTR(Column_Name, Starting_Index_value, Length_of_string) AS Alias_Name FROM Table_Name;
Bu sözdiziminde SUBSTR() fonksiyonunu çalıştırmak istediğimiz sütunun adını tanımlamamız gerekiyor. Burada, Height_of_string parametresi isteğe bağlıdır. Atlanırsa, bu işlev dizenin tamamını başlangıç dizin değerinden çıkarır.
Sözdizimi2: Bu sözdizimi şu dizeyle SUBSTR işlevini kullanır:
SELECT SUBSTR(Original_String, Starting_Index_value, Length_of_string);
Sözdizimi2: Bu sözdizimi SUBSTR işlevini tek karakterle kullanır:
saira banu oyuncusu
SELECT SUBSTR(String, Starting_Index_value, 1);
SUBSTR Dizesi işlevi örnekleri
Örnek 1: Aşağıdaki SELECT sorgusu 17'den karakterleri gösterir.oVerilen dizenin konumu.
SELECT SUBSTR( 'JavaTpoint is a website for professionals', 17, 24); This SQL query returns the 24 characters with spaces after the 17th position in the string.
Çıktı:
website for professionals
Örnek 2: Aşağıdaki SELECT sorgusu -17'den itibaren karakterleri gösterir.overilen dizenin konumu:
SELECT SUBSTR( 'JavaTpoint is a website for professionals', -17, 5);
Bu SQL sorgusu son 17 karakterin beş karakterini gösterir.odizenin konumu.
Rajinikanth
Çıktı:
website for professionals
Örnek 3: Aşağıdaki SELECT sorgusu 5 karakterden tüm karakterleri gösterir.odizenin konumu.
SELECT SUBSTR( 'New Delhi IS the Capital OF India', 5);
Çıktı:
Delhi IS the Capital OF India
Örnek 4: Aşağıdaki SELECT sorgusu 8'den tek karakteri gösterir.odizenin konumu.
SELECT SUBSTR( 'JavaTpoint', 8, 1);
Çıktı:
varlık ilişkisel
n
Örnek 5: Bu örnekte SQL tablosuyla SUBSTR işlevi kullanılıyor
Bu örnekte SUBSTR fonksiyonunu çalıştırmak istediğimiz yeni bir tablo oluşturacağız.
Bu örnekte, sütunlarda Concat() fonksiyonunu çalıştıracağımız yeni bir SQL tablosu oluşturmamız gerekiyor. Yeni SQL tablosunu oluşturmaya yönelik söz dizimi aşağıdaki blokta belirtilmiştir:
dizideki c dizesi
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, Student_Marks) VALUES (4001, Aman, Roy, Sharma, 4, Chandigarh, Punjab, 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, Vishal, Gurr, Sharma, 8, Murthal, Haryana, 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, Gupta, 6, Ghaziabad, Uttar Pradesh, 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, Yash, Chopra, Singhania, 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, Vinay, 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, Manoj, singhania, Gupta, 5, Ghaziabad, Uttar Pradesh, 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, Ram, Raheem, Gupta, 9, Lucknow, Uttar Pradesh, 89);
Aşağıdaki SELECT ifadesi yukarıdakilerin eklenen kayıtlarını görüntüler Öğrenci_Marks'ı masa:
SELECT * FROM Student_Marks;
Öğrenci Kimliği | Öğrenci_First_Name | Öğrenci_Orta_Adı | Öğrenci_Soyadı_Adı | Öğrenci_Sınıfı | Öğrenci_Şehri | Öğrenci_Durumu | Öğrenci_Marks'ı |
---|---|---|---|---|---|---|---|
4001 | Güvenli | Roy | Şarma | 4 | Çhandigarh | Pencap | 88 |
4002 | Vishal | Gurr | Şarma | 8 | Murthal | Haryana | 95 |
4007 | Raj | Singhania | Gupta | 6 | Gaziabad | Uttar Pradeş | 91 |
4004 | Yaşa | Chopra | Singhania | 9 | Jaipur | Racastan | 85 |
4011 | Vinay | Şarma | Roy | 8 | Çhandigarh | Pencap | 94 |
4006 | Manoj | Singhania | Gupta | 5 | Gaziabad | Uttar Pradeş | 83 |
4010 | Veri deposu | Rahim | Gupta | 9 | şans eseri | Uttar Pradeş | 89 |
Sorgu 1: Aşağıdaki SELECT sorgusu, yukarıdaki Öğrenci_Marks tablosunun Öğrenci_Last_Name sütunuyla birlikte SUBSTR işlevini kullanır:
Java'da doğrusal arama
SELECT Student_Last_Name, SUBSTR(Student_Last_Name, 2, 4) AS SUBSTR_2_4 FROM Student_Marks;
Bu SQL deyimi 2'den sonraki dört karakteri gösterir.veHer öğrencinin soyadının konumu.
Çıktı:
Öğrenci_Soyadı_Adı | SUBSTR_2_4 |
---|---|
Şarma | zarar |
Şarma | zarar |
Gupta | upta |
Singhania | İngilizce |
Roy | Ltd. |
Gupta | upta |
Gupta | upta |
Sorgu 2: Aşağıdaki SELECT sorgusu, yukarıdaki Öğrenci_Marks tablosunun Öğrenci_Last_Name sütunuyla birlikte SUBSTR işlevini kullanır:
SELECT Student_Last_Name, SUBSTR(Student_Last_Name, -3, 2) AS SUBSTR_-3_2 FROM Student_Marks;
Bu SQL deyimi, her öğrencinin Soyadının üçüncü son konumundan iki karakteri gösterir.
Çıktı:
Öğrenci_Soyadı_Adı | SUBSTR_-3_2 |
---|---|
Şarma | rm |
Şarma | rm |
Gupta | puan |
Singhania | içinde |
Roy | Ro |
Gupta | puan |
Gupta | puan |