SQL REPLACE() Kullanımı

Replace kelimesinin Türkçe ’de "yerine koymak, yerini almak, yenisi ile değiştirmek" anlamlarına gelmektedir. Yani tablomuzda bulunan bir metinsel alandaki verinin bir parçasını veya tamamını ekrana farklı biçimde yazdırabiliriz. Sadece ekrana yazdırma değil güncelleme sorgusu çalıştırarak alandaki verilerin bir kısmını değiştirebiliriz.

SQL REPLACE() Kullanımı

REPLACE() Kullanım Biçimi

REPLACE(alan_adi,degisecek_veri,yeni_veri)

Aşağıdaki gibi Ogrenciler tablomuz olsun

id Adi_Soyadi Sehir Kayit_Donemi
1 Salih ESKİOĞLU İstanbul 1
2 Ayhan Çetinkaya Kocaeli 2
3 İlhan Özlü Kahraman Maraş 2

Örnek-01:

Select Adi_Soyadi, REPLACE(Sehir,'Kahraman ','K.') From Ogranciler

Yukarıdaki örnekte, Sehir alanındaki Kahraman Maraş verisi ekrana alınırken K. Maraş şeklinde kısaltma olarak yazılır. Bu işlem sadece ekran çıktısı yapar. Yani alandaki veri üzerinde değişiklik yapmaz. Eğer yazacağınız uygulamada verileri ekrana alırken yer sıkıntınız varsa Sehir alanını ekrana kısaltma olarak alırsanız uygulamanız ekrana sığabilir.

Çıktısı:

Adi_Soyadi Sehir
Salih ESKİOĞLU İstanbul
Ayhan Çetinkaya Kocaeli
İlhan Özlü K. Maraş

Örnek-02:

Select Adi_Soyadi, REPLACE(Kayit_Donemi,'1','Güz Dönemi') From Personel Where Kayit_Donemi='1'

Yukarıdaki örnekte, Kayit_Donemi alanında veriler 1 ve 2 olarak tutulduğu varsayılıyor. Böylece veritabanımızın boyutunun büyümesi engelleniyor. Veriyi ekrana taşırken  Replace komutu kullanılarak ekrana istenilen bilgi yazılmış olunur.

Çıktısı:

Adi_Soyadi Kayit_Donemi
Salih ESKİOĞLU Güz Dönemi

Örnek-03:

Update Ogrenciler Set Sehir=REPLACE(Sehir,'Kahraman','K.')

Yukarıdaki örnekte Sehir alanında bulunan Kahraman kelimesi K. olarak değiştiriliyor. Normal şartlarda Update yapısı ile belirtilen alandaki bütün değerler değiştirilirken REPLACE ile birlikte kullanıldığında alan içindeki kelimeleri, harfleri veya sayıları değiştirebiliriz.

Çıktısı:

id Adi_Soyadi Sehir Kayit_Donemi
1 Salih ESKİOĞLU İstanbul 1
2 Ayhan Çetinkaya Kocaeli 2
3 İlhan Özlü K. Maraş 2

Aşağıdaki gibi Urunler tablosunda seri numarlarının tutulduğu alanımız olsun.

Seri_No
13-34373829
12-12323123
13-45532444
12-56345324
12-43353434
12-23444224

Örnek-04:

Update Urunler Set Vergi_No=REPLACE(Seri_No , '13-' , '12-') Where Serii_No NOT Like '12-%'

Bu örnekte normal şartlarda Seri_No alanında 13- ile başlayan kayıtlar 12- olarak değiştirilir. Ancak binlerce kaydın olduğu bir alanda sorgu yavaş işleyeceği için Where ve Not Like kullanılarak 12- ile başlamayan kayıtlar seçiliyor. Böylece kontrol edilecek olan kayıt sayısı ikiye düşmüş olur.

Seri_No
12-34373829
12-12323123
12-45532444
12-56345324
12-43353434
12-23444224

Tepkiniz Nedir?

like
0
dislike
0
love
0
funny
0
angry
0
sad
0
wow
0