Ayın ilk iş günü bir çok kontrol noktasında karşımıza çıkar, aşağıdaki fonksiyon ile ayın ilk iş gününün hangi güne denk geldiğini bularak kontrollerimizde kullanabiliriz. Fonksiyon resmi tatilleri göz önünde bulundurmuyor, resmi tatilleri de dahil etmek istiyorsanız resmi tatil tablosu oluşturup resmi tatilleri bu tabloya girerek fonksiyonda bu tarihleri exclude edebilirsiniz. İhtiyaca göre aynı mantıkla yılın – haftanın ilk iş gününü de bulabilirsiniz.
Ayın İlk iş gününü bulan sql fonksiyon.
---- Ayın ilk iş gününü bulan sql fonksiyon CREATE function [dbo].[fnFirstWorkDayOfMonth](@Year int,@Month int) returns datetime as begin declare @FirstDayOfMonth datetime set @FirstDayOfMonth = convert(datetime, convert(varchar,@Year)+'-'+convert(varchar,@month)+'-01') IF DATENAME(dw, @FirstDayOfMonth) IN ('Saturday') set @FirstDayOfMonth = dateadd(day,2,@FirstDayOfMonth) ELSE IF DATENAME(dw, @FirstDayOfMonth) ='Sunday' set @FirstDayOfMonth = dateadd(day,1,@FirstDayOfMonth) ELSE set @FirstDayOfMonth = dateadd(day,0,@FirstDayOfMonth) return @FirstDayOfMonth end ---- Ayın ilk iş gününü bulan sql fonksiyon
Fonksiyonu aşağıdaki gibi kullanabiliriz;
select [dbo].[fnFirstWorkDayOfMonth](2021,4) as SQL_Ayin_ilk_is_gunu