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.

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