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
GO

--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.

SQL Server Eğitimleri Kanalına Abone Olun

Şunlar makaleler de hoşunuza gidebilir