SQL Server’da Oracle NEXT_DAY Fonksiyonu Yazmak
Herkese merhaba,
Bu yazıda SQL Server’da Oracle NEXT_DAY fonksiyonunu yazmak hakkında bilgi vereceğim.
SQL Server’da bazı durumlarda başka veritabanlarında olan fonksiyonları görmek ve kullanmak isteyebiliriz.
NEXT_DAY fonksiyonu nedir?
NEXT_DAY fonksiyonu 2 parametrelidir. Birinci parametre tarih bilgisini, ikinci parametre belirttiğimiz tarihten sonra ilk görmek istediğimiz tarihin gün bilgisini tutmak için kullanılır.
Aşağıdaki fonksiyon yardımıyla bu işlemi rahatlıkla yapabilirsiniz.
CREATE FUNCTION SQLServer_Next_Day
(
@BaslamaTarihi DATETIME,
@GunSayisi INT
)
RETURNS DATETIME
AS
BEGIN
DECLARE @SuAnkiTarih AS DATETIME;
DECLARE @HaftaninGunu AS TINYINT;
SELECT @HaftaninGunu = DATEPART(WEEKDAY, @BaslamaTarihi);
SELECT @GunSayisi = @GunSayisi + 1;
IF (@HaftaninGunu < @GunSayisi)
BEGIN
SELECT @SuAnkiTarih = (@BaslamaTarihi + (@GunSayisi - @HaftaninGunu));
END;
ELSE
BEGIN
SELECT @SuAnkiTarih = (@BaslamaTarihi + ((@GunSayisi + 2) - (@HaftaninGunu - @GunSayisi)));
END;
RETURN @SuAnkiTarih;
END;
GO
--Kullanımı
SELECT dbo.SQLServer_Next_Day(GETDATE(),5)
Fonksiyonu çalıştırdığınızda aşağıdaki gibi bir sonuç göreceksiniz.
Görüldüğü üzere belirttiğimiz tarihten sonra ilk görmek istediğimiz günü görmüş olduk.
Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.