SQL Server’da Binary Sayı Sistemini Decimal Sayı Sistemine Çeviren Fonksiyon
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.
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.