SQL Server’da KDV Oranına Göre Fiyat Hesaplayan Fonksiyon

Herkese merhaba,

Bu yazıda SQL Server’da KDV oranına göre fiyat hesaplayan fonksiyon kullanımından bahsedeceğim.

Bu tarz bir örnek nette göremedim ya da kimsenin ihtiyacı olmadığı için yazmamış, paylaşmamış olabilir.

Ben pratik ve deneme amaçlı böyle bir örnek yazdım.

Siz kendi mantığınıza göre revize edip daha da iyisini oluşturabilirsiniz.

KDV Oranına Göre Fiyat Hesaplayan fonksiyon şu şekilde çalışmakta.

Siz fonksiyona fiyat bilgisini ve KDV oranının sayısal değerini giriyorsunuz.

Eğer KDV oranı olmayan bir değer yazarsanız sonuç sıfır dönecektir. Eğer 1,8 ya da 18 KDV oranlarından birini girerseniz fonksiyon başarı ile çalışacaktır.

Aşağıdaki kodu kullanarak bu işlemi rahatlıkla yapabilirsiniz.

CREATE  FUNCTION fn_Orana_Gore_KDV_Hesapla
(
    @Fiyat DECIMAL(10, 4),
    @KdvOraniTur TINYINT
)
RETURNS @SonucTablo TABLE
(
    KDVOrani DECIMAL(3, 2),
    KDVHaricFiyat DECIMAL(10, 4),
    KDVFiyat DECIMAL(10, 4),
    KDVDahilFiyat DECIMAL(10, 4)
)
AS
BEGIN

    DECLARE @KdvOrani DECIMAL(3, 2);

    IF (@KdvOraniTur = 1 OR @KdvOraniTur = 8 OR @KdvOraniTur = 18)
    BEGIN

        IF @KdvOraniTur = 1
        BEGIN
            SET @KdvOrani = 0.01;
        END;

        IF @KdvOraniTur = 8
        BEGIN
            SET @KdvOrani = 0.08;
        END;

        IF @KdvOraniTur = 18
        BEGIN
            SET @KdvOrani = 0.18;
        END;

        INSERT INTO @SonucTablo
        VALUES
        (@KdvOrani, @Fiyat, (@Fiyat * @KdvOrani), ((@Fiyat * @KdvOrani) + @Fiyat));        

    END;
    ELSE
    BEGIN
        INSERT INTO @SonucTablo
        VALUES
        (0, 0, 0, 0);	
    END;
	RETURN
END;

--Kullanımı

SELECT * FROM fn_Orana_Gore_KDV_Hesapla(10,1)
SELECT * FROM fn_Orana_Gore_KDV_Hesapla(10,8)
SELECT * FROM fn_Orana_Gore_KDV_Hesapla(10,18)
SELECT * FROM fn_Orana_Gore_KDV_Hesapla(10,9) --Gerekli koşullar oluşmadığı için hesaplamadı.

Fonksiyonu oluşturup kodu çalıştırdığınızda aşağıdaki sonucu göreceksiniz.

SQL Server'da KDV Oranına Göre Fiyat Hesaplayan Fonksiyon

Sonucu ben tablo olarak döndürdüm. Bu sayede istediğiniz gibi de kullanabilirsiniz. Dediğim gibi geliştirilip daha da kullanışlı hale getirilebilir. Bu size kalmış.

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

787 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!