sql server - Last working day for n Months ago SQL -
i have below sql query selects date of end of 3months ago. how can alter select last working day 3 months ago?
(select dateadd(d,-1,dateadd(mm, datediff(m,0,getdate())-3,0)))
for mssql. if "last working day" mean saturday , sunday, can try following query.
in mssql number of day in week, depends value of @@datefirst (you can set set datefirst n, n=1, ..., 7).
eg. if @@datefirst=7 first day of week sunday, datepart(dw, getdate()) return 1 today sunday. query try give "last working day" apart @@datefirst value.
select dateadd(d, - case when datepart(dw,sp)+@@datefirst in (7,8) datepart(dw,sp) + @@datefirst-6 else 0 end,sp) nd ( select dateadd(d,-1,dateadd(mm, datediff(m,0,getdate()) -3,0)) sp ) output
2017-04-28 00:00:00.000
Comments
Post a Comment