logo

SQL'de SUBSTR İşlevi

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