SQL Server’da Kelimedeki Sayıları Ayıran Fonksiyon
Herkese merhaba,
Bu yazıda SQL Server’da kelimedeki sayıları ayıran fonksiyon hakkında bilgi vereceğim.
SQL Server’da bazı durumlarda bir kelime içinde geçen tüm sayıları ayırmak isteyebiliriz.
Aşağıdaki fonksiyon yardımıyla bu işlemi rahatlıkla yapabilirsiniz.
CREATE FUNCTION dbo.SayilariAyir
(
@Deger VARCHAR(MAX)
)
RETURNS BIGINT
AS
BEGIN
DECLARE @YeniDeger VARCHAR(MAX) = '',
@Sayac INT = 1,
@Karakter CHAR(1);
WHILE @Sayac <= LEN(@Deger)
BEGIN
SET @Karakter = SUBSTRING(@Deger, @Sayac, 1);
IF @Karakter
BETWEEN '0' AND '9'
SET @YeniDeger = @YeniDeger + @Karakter;
SET @Sayac = @Sayac + 1;
END;
RETURN CAST(@YeniDeger AS BIGINT);
END;
--Kullanımı
DECLARE @Deger VARCHAR(MAX) = '5555.,96()1-23-456aaaabbbbccc';
SELECT Sonuc = dbo.SayilariAyir(@Deger);
Kodu çalıştırdığınızda aşağıdaki gibi bir sonuç alacaksınız.
Görüldüğü üzere kelimedeki sayılar ayrılmış oldu.
Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.