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.

468 Kez Okundu

Kategoriler: