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;

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

SQL Server’da Para Birimini Özelleştirerek Yuvarlamak

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

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

318 Kez Okundu

Yavuz Selim Kart

Yazılım ve veri tabanında bildiklerimi anlatmaya gayret ediyorum. Halen birçok programlama dili üzerinde araştırmalar yaparak kendimi geliştiriyorum. Bunlar haricinde Grafik Tasarım ve Wordpress konularına da ilgim bulunmakta. SEO ve Sosyal medya yönetimleri hakkında da bilgim mevcuttur. Kısaca çok çalışmayı seven azimli biriyim.

You may also like...

Yazı kopyalamak yasaktır!