SQL Server’da Sayısal Olmayan Karakterleri Temizleyen Fonksiyon
Herkese merhaba,
Bu yazıda SQL Server’da sayısal olmayan karakterleri temizleyen fonksiyon hakkında bilgi vereceğim.
SQL Server’da bazı durumlarda sayısal bir metin üzerindeki parantez, tire vs gibi şeylerin kaldırılmasını isteyebiliriz.
Aşağıdaki fonksiyon yardımıyla bu işlemi rahatlıkla yapabilirsiniz.
CREATE FUNCTION SayisalOlmayanKarakterleriKaldirmak
(
@Icerik NVARCHAR(512)
)
RETURNS NVARCHAR(512)
AS
BEGIN
DECLARE @TemizlenmisIcerik NVARCHAR(512);
SELECT @TemizlenmisIcerik = @Icerik;
WHILE PATINDEX('%[^0-9]%', @TemizlenmisIcerik) > 0
SELECT @TemizlenmisIcerik
= REPLACE(@TemizlenmisIcerik, SUBSTRING(@TemizlenmisIcerik, PATINDEX('%[^0-9]%', @TemizlenmisIcerik), 1), '');
RETURN @TemizlenmisIcerik;
END;
--Kullanımı
SELECT dbo.SayisalOlmayanKarakterleriKaldirmak('0(544)-573-25-84');
Kodu çalıştırdığınızda aşağıdaki gibi bir sonuç alacaksınız.
Görüldüğü üzere sayısal olmayan karakterler temizlenmiş oldu.
Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.