Emrah AÇIKGÖZ'ün Kişisel Sahifesi.

REPLACE ve STUFF Fonksiyonları Nasıl Kullanılır

  • 4 sene önce, Emrah tarafından yazılmıştır.
  • 0 Yorum
  • Oracle

Replace Fonksiyonu:

Replace bir metin içinde geçen belirli bir paterne uyan tüm metin veya karakterleri, istenilen başka bir karakter veya metin ile değiştirir.

Örnek :

1
2
select REPLACE('Tazilim','T','Y')
-- Sonuç : Yazilim

Replace fonksiyonu büyük küçük harfe duyarlı değildir. Yani t veya T Replace için aynı karakterdir.

Replace ile bir karakteri başka bir karakter ile değiştirebildiğimiz gibi, bir karakteri bir metin ile veya bir metni bir karakter veya başka bir metin ile değiştirebiliriz.

Örnek:

1
2
3
4
5
select REPLACE('Yazilim','m','m Mutfagi')
-- Sonuç: Yazilim Mutfagi
Select REPLACE('Yazilim Mutfagi', 'Mutfagi','M')
-- Sonuç: Yazilim M

Stuff Fonksiyonu:

Stuff replaceden farklı olarak verilen bir metin içinde belirli bir indexden başlayarak belirli bir karakter uzunluktaki kısmı başka bir metin veya karakter ile değiştirmek için kullanılır.

Örnek :

1
2
3
4
5
select STUFF('Yazilim Güzeldir',7,1,' Mutfağı')
-- Sonuç: Yazili Mutfağı Güzeldir
Select STUFF('abcdefg',2,3,'ghjkl')
-- Sonuç: aghjklefg

Not:

Replace için :

  • Eğer replace fonksiyonunda kullanılan parametrelerden herhangi birisi nvarchar tipinde ise Replace nvarchar tipinde bir değer döndürür, Diğer durumlarda varchar değer döndürür.
  • Parametrelerden birisi NULL olursa dönüş değeride null olur.
  • Eğer değiştirilecek metin varchar(max) veya nvarchar(max) tiplerinden birisi değil ise, replace sonucunda dönücek değer en fazla 8000 karakter olur ve fazlası atılır. 8000 karakterden büyük bir metin döndürmek istiyorsanız, metni varchar(max) veya nvarchar(max)’a cast edin.

Stuff için :

  • Eğer başlangıç indexi yada uzunluk için verilen değer negatif ise veya başlangıç indexi metin uzunluğundan büyük ise NULL döner.
  • Eğer başlangıç değeri 0 ise yine NULL bir değer döner.