Herkese merhaba. Bu yazıda SQL Server’da Binary sayı sistemini Decimal sayı sistemine çeviren fonksiyon hakkında bilgi vereceğim.

SQL Server’da bazı durumlarda Binary sayı sistemini Decimal sayı sistemine çevirmek isteyebiliriz.

Aşağıdaki fonksiyon yardımıyla bu işlemi rahatlıkla yapabilirsiniz.

CREATE FUNCTION BinaryDecimaleCevir
(
    @BinaryVeri VARCHAR(255)
)
RETURNS BIGINT
AS
BEGIN
    DECLARE @Sayac TINYINT = 1;
    DECLARE @Uzunluk TINYINT = LEN(@BinaryVeri);
    DECLARE @Cikis BIGINT = CAST(SUBSTRING(@BinaryVeri, @Uzunluk, 1) AS BIGINT);
    WHILE (@Sayac < @Uzunluk)
    BEGIN
        SET @Cikis = @Cikis + POWER(CAST(SUBSTRING(@BinaryVeri, @Uzunluk - @Sayac, 1) * 2 AS BIGINT), @Sayac);
        SET @Sayac = @Sayac + 1;
    END;
    RETURN @Cikis;
END;

--Kullanımı 

SELECT dbo.BinaryDecimaleCevir('1110011'); 

SELECT dbo.BinaryDecimaleCevir('100');

Kodu çalıştırdığınızda aşağıdaki gibi bir sonuç alacaksınız.

SQL Server’da Binary Sayı Sistemini Decimal Sayı Sistemine Çeviren Fonksiyon

Görüldüğü üzere Binary sayı sistemi Decimal sayı sistemine çevrilmiş oldu.

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

510 Kez Okundu

Kategoriler: