SQL Server’da Oracle MONTHS_BETWEEN Fonksiyonu Yazmak

Herkese merhaba,

Bu yazıda SQL Server’da Oracle MONTHS_BETWEEN fonksiyonunu yazmak hakkında bilgi vereceğim.

SQL Server’da bazı durumlarda başka veritabanlarında olan fonksiyonları görmek ve kullanmak isteyebiliriz.

MONTHS_BETWEEN fonksiyonu nedir?

MONTHS_BETWEEN fonksiyonu iki tarih arasındaki ay farkını bulmak için kullanılır.

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

CREATE FUNCTION SQLServer_MONTHS_BETWEEN
(
    @tarih1 DATETIME,
    @tarih2 DATETIME
)
RETURNS FLOAT
AS
BEGIN
    DECLARE @aylar FLOAT = DATEDIFF(MONTH, @tarih2, @tarih1);
    IF DAY(@tarih1) <> DAY(@tarih2)
       AND
       (
           MONTH(@tarih1) = MONTH(@tarih1 + 1)
           OR MONTH(@tarih2) = MONTH(@tarih2 + 1)
       )
    BEGIN
        IF DAY(@tarih1) < DAY(@tarih2)
            SET @aylar = @aylar + CONVERT(FLOAT, 31 - DAY(@tarih2) + DAY(@tarih1)) / 31 - 1;
        ELSE
            SET @aylar = @aylar + CONVERT(FLOAT, DAY(@tarih1) - DAY(@tarih2)) / 31;
    END;

    RETURN @aylar;
END;
GO

--Kullanımı

  SELECT dbo.SQLServer_MONTHS_BETWEEN('2022.09.25', '2021.09.25') AS AySayısı

Fonksiyonu çalıştırdığınızda aşağıdaki gibi bir sonuç göreceksiniz.

SQL Server’da Oracle MONTHS_BETWEEN Fonksiyonu Yazmak

Görüldüğü üzere iki tarih arasındaki ay farkını hesaplamış oldu.

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

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