Orta Seviye SQL Server Sql Server

SQL Server’da Stuff Fonksiyonu ve Replace Fonksiyonu Arasındaki Farklar

SQL Server Eğitimleri Kanalına Abone Olun

Herkese merhaba,

Bu başlık altında SQL Server’da Stuff Fonksiyonu ve Replace Fonksiyonu arasındaki farkları inceleyeceğiz.

1-) Replace fonksiyonuyla bir metin içinde geçen ve belirli bir desene uyan tüm metin veya karakterleri, istenilen başka bir karakter veya metin ile değiştirebiliriz.

select REPLACE('Kalamam','a','i')

2-) Replace fonksiyonu ile bir karakteri başka bir karakter ile değiştirebiliriz ayrıca bir karakteri bir metin ile veya bir metni bir karakter veya başka bir metin ile de değiştirebiliriz.

SELECT REPLACE('SQL','L','L Server Eğitimleri Sitesi')
-- Sonuç: SQL Server Eğitimleri Sitesi
SELECT REPLACE('SQL ServerEğitimleri', 'Server','')
-- Sonuç: SQL Eğitimleri

3-) Stuff fonksiyonu Replace fonksiyonundan farklı olarak verilen bir metin içinde belirli bir index değerinden başlayarak belirli bir karakter uzunluktaki kısmı başka bir metin veya karakter ile değiştirmek için kullanılan bir fonksiyondur.

select STUFF('Yazılım Bilgisi',1,7,' Donanım')
--Sonuç : Donanım Bilgisi

4-) Replace fonksiyonunda kullanılan parametrelerden herhangi birisi nvarchar tipinde ise Replace nvarchar tipinde bir değer döndürür, diğer durumlarda varchar tipinde değer döndürecektir.

--Varchar veri tipi için örnek
DECLARE @degisken VARCHAR(40)
SET @degisken='yavuz'
SELECT REPLACE(@degisken,'a','b') AS sonuc
SELECT SQL_VARIANT_PROPERTY(@degisken,'BaseType') AS VeriTipi
--Nvarchar veri tipi için örnek
DECLARE @degisken NVARCHAR(40)
SET @degisken='yavuzselim'
SELECT REPLACE(@degisken,'a','b') AS sonuc
SELECT SQL_VARIANT_PROPERTY(@degisken,'BaseType') AS VeriTipi

5-) Parametrelerden birisi NULL olursa dönüş değeri NULL olarak döner.

SELECT REPLACE('yavuz','a',null)
SELECT REPLACE('yavuz',null,'')
SELECT STUFF('yavuz selim',NULL,5,'kart')
SELECT STUFF('yavuz selim',1,NULL,'kart')

6-) Değiştirilecek metin Varchar(max) veya Nvarchar(max) tipleri değilse, Replace sonucunda dönecek değer en fazla 8000 karakter olacaktır ve geri kalan değerler atılır. 8000 karakterden büyük bir metin döndürmek istiyorsak, metin değerini Varchar(max) veya Narchar(max)’a cast etmemiz gerekmektedir.

7-) Stuff fonksiyonunda eğer başlangıç index değeri yada uzunluk için verilen değer negatif ise veya başlangıç index değeri metin uzunluğundan büyük ise NULL değer döner döner. Başlangıç değeri sıfır ise yine Null değer döner.

SELECT STUFF('yavuz selim',-1,3,'kart')
SELECT STUFF('yavuz selim',20,3,'kart')
SELECT STUFF('yavuz selim',0,3,'kart')

Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.

SQL Server Eğitimleri Kanalına Abone Olun

Yazar hakkında

Yavuz Selim Kart

SQL Server tarafında kendini ilerletmeye çalışırken bildiklerini sürekli başkalarına aktaran, yazılım dünyasında (C#, Java, Python vb.) kendini güncel tutmaya çalışan, araştırma yapmaktan bıkmayan, meraklı, bilginin üzerine bilgi katmaktan mutluluk duyan bir yazılım eğitmeni ve kod sever.
Grafik tasarım dünyasında Indesign'ı anlatacak kadar iyi kullanabilen, Photoshop ve Illustrator'e de orta düzey hakimiyeti bulunan, internet üzerinde online kimya dergisi kurmuş ve bunu yüzbinlerce kişiye ulaştırmayı başaran bir grafik sever.
WordPress tarafında 5 adet web sitesi kurmuş, bu sistemler üzerine çalışan bir WordPress sever.
Sosyal medya üzerinde okumalara ve araştırmalara devam eden, kendi kurmuş olduğu kimya dergisini daha çok kişiye nasıl ulaştırırım diye düşünen ve bu konuda SEO çalışmaları üzerine kafa yoran bir Sosyal Medya sever.
Kısaca çok çalışmayı seven, azimli biriyim.

Kopyalamak Yasaktır!