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ş |