logo

SQL'de REPLACE İşlevi

Yapılandırılmış Sorgu Dilinin bu dize işlevi, bu karakterlerin orijinal dizedeki tüm oluşumlarını verilen yeni karakter veya alt dizeyle değiştirir. Bu işlev ayrıca sütunun değerini yeni değerle değiştirir.

öküz vs boğa

REPLACE String İşlevinin Sözdizimi

Sözdizimi 1: Bu sözdizimi, SQL tablosunun sütun adıyla REPLACE işlevini kullanır:

 SELECT REPLACE(Column_Name, Character/string_to_replace, new_String/character ) AS Alias_Name FROM Table_Name; 

Sözdiziminde değerlerini değiştirmek istediğimiz sütunun adını belirtmemiz gerekiyor.

Sözdizimi 2: Bu sözdizimi dizeyle REPLACE işlevini kullanır:

 SELECT REPLACE(Original_String, String_to_Replace, New_String) AS Alias_Name; 

Sözdizimi 3: Bu söz dizimi, tek karakterle REPLACE işlevini kullanır:

 SELECT REPLACE(Original_String, character_to_Replace, New_Character) AS Alias_Name; 

Dizeyi DEĞİŞTİR işlevi örnekleri

Örnek 1: Aşağıdaki SELECT sorgusu, orijinal dizedeki 'R' karakterini 'P' ile değiştirir:

 SELECT REPLACE( 'JAVATROINT', 'R', 'P' ) AS Website_Name; 

Çıktı:

Web Sitesi_Adı
JAVATPOINT

Örnek 2: Aşağıdaki SELECT sorgusu, 'S' karakterinin tüm oluşumlarını orijinal dizedeki yeni 'T' karakteriyle değiştirir:

 SELECT REPLACE( 'JAVASPOINS', 'S', 'T') AS Website_Name; 

Çıktı:

Web Sitesi_Adı
JAVATPOINT

Örnek 3: Aşağıdaki SELECT sorgusu, 'Eğitimler' alt dizesini, verilen orijinal dizedeki yeni 'Makaleler' sözcüğüyle değiştirir:

 SELECT REPLACE( 'JavaTpoint provides various Tutorials.', 'Tutorials', 'Articles') AS JavaTpoint_Sentence; 

Çıktı:

JavaTpoint_Sentence
JAVATPOINT çeşitli Makaleler sağlar.

Örnek 4: Aşağıdaki SELECT sorgusu orijinal dizedeki sembolü yeni bir sembolle değiştirir:

 SELECT REPLACE( '####98221545###', '#', '$') AS Replace_Symbol ; 

Çıktı:

Değiştir_Simbol
$$$221545$$

Örnek 5: Aşağıdaki SELECT sorgusu orijinal dizedeki yılı değiştirir:

roma rakamları 1-100
 SELECT REPLACE( '2021JavaTpoint2021', '2021', '2022'); 

Çıktı:

 2022JavaTpoint2022 

Örnek 6: Bu örnekte, Yapılandırılmış Sorgu Dili'ndeki tabloyla REPLACE işlevi kullanılmaktadır.

Bu örnekte, sütunlarda REPLACE() fonksiyonunu çalıştıracağımız yeni bir SQL tablosu 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, 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_Şehir Öğ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 Students_Marks tablosunun Students_Last_Name sütunuyla REPLACE işlevini kullanır:

 SELECT Student_Last_Name, REPLACE(Student_Last_Name, 'a', 'r') AS REPLACE_a_r FROM Student_Marks; 

Bu SQL ifadesi, her öğrencinin soyadındaki 'a' harfinin tüm oluşumlarını 'r' ile değiştirir:

Çıktı:

Öğrenci_Soyadı_Adı Değiştir_a_r
Şarma Shrrmr
Şarma Shrrmr
Gupta Guptr
Singhania Sinhrnir
Roy Roy
Gupta Guptr
Gupta Guptr

Sorgu 2: Aşağıdaki SELECT sorgusu, yukarıdaki Öğrenci_Marks tablosunda Öğrenci_Kimliği 4002'den büyük olan öğrencilerin Öğrenci_Şehri ve Öğrenci_State sütunuyla REPLACE işlevini kullanır:

 SELECT Student_Id, REPLACE(Student_City, 'Chandigarh', 'Munnar'), REPLACE(Student_State, 'Punjab', 'Kerala ) FROM Student_Marks WHERE Student_Id >4002; 

Bu SQL ifadesi, Öğrenci_ID'si 4002'den fazla olan öğrencilerin Chandigarh şehri ve Pencap eyaletinin yerine geçer.

Çıktı:


Öğrenci Kimliği DEĞİŞTİR(Öğrenci_Şehir, 'Chandigarh', 'Munnar') REPLACE(Student_State, 'Pencap', 'Kerala )
4007 Gaziabad Uttar Pradeş
4004 Jaipur Racastan
4011 Münnar Kerala
4006 Gaziabad Uttar Pradeş
4010 şans eseri Uttar Pradeş