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