SQL Server’da Para Birimini Özelleştirerek Yuvarlamak

Herkese merhaba,

Bu yazıda SQL Server’da para birimini özelleştirerek yuvarlamak hakkında bilgi vereceğim.

Arkadaşım bir yazılım çalışması yaparken aşağıdaki şekilde bir yuvarlama fonksiyonuna ihtiyaç duydu. İşlemin programlama tarafında yapılmasından ziyade ilk olarak SQL Server tarafında çözmeyi denedik ve oldu da.

Aşağıdaki fonksiyon ne yapıyor.

  1. Küsürat sıfırdan büyükse bir basamak yuvarlayıp alıyor.
  2. Küsürat sıfır ise doğrudan sayı değerini alıyor.

Kodu ve kullanımını aşağıda görmektesiniz.

CREATE FUNCTION dbo.OzelYuvarlamaYaptirma
(
    @veri DECIMAL(25, 6)
)
RETURNS VARCHAR(30)
AS
BEGIN
    DECLARE @sonuc VARCHAR(30);
    IF (SUBSTRING(CAST(@veri AS VARCHAR(30)), CHARINDEX('.', @veri) + 1, LEN(@veri))) > 0
    BEGIN
        SET @sonuc = CAST(ROUND(@veri, 1) AS DECIMAL(25, 1));
    END;
    ELSE
    BEGIN
        SET @sonuc = CAST(@veri AS INT);

    END;
    RETURN CAST(@sonuc AS VARCHAR(30));
END;
GO

--Kullanımı

SELECT dbo.OzelYuvarlamaYaptirma('25.0000');
SELECT dbo.OzelYuvarlamaYaptirma('25.2442');
SELECT dbo.OzelYuvarlamaYaptirma('25.4945');
SELECT dbo.OzelYuvarlamaYaptirma('25.9900');

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

Görüldüğü üzere istediğimiz sonucu elde etmiş olduk.

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

Ads Blocker Image Powered by Code Help Pro
Reklam Eklentisi Kullanıyorsunuz

Lütfen bizlere destek için reklam eklentisi olmadan sitemizi ziyaret edin.

Şimdiden teşekkür ederiz.