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.

SQL Server’da Kelimedeki Sayıları Ayıran Fonksiyon

Görüldüğü üzere kelimedeki sayılar ayrılmış oldu.

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

464 Kez Okundu

Kategoriler: