Etiket arşivi: ilk iş günü bulmak sql

SQL Ayın-Haftanın ilk iş gününü bulmak

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