日期:2014-05-17  浏览次数:20922 次

求一句sql
已知当前日期,怎样求出当月的第一个星期一的日期




------解决方案--------------------
一句SQL怕是不行吧。以下供参考
declare @d1 datetime
declare @d2 datetime
set @d2=getdate()
set @d1=cast(cast(year(@d2) as varchar)+ '- '+cast(month(@d2) as varchar)+ '-01 ' as datetime)

if datepart(weekday,@d1) <> 2
begin
if datepart(weekday,@d1) <2
select dateadd(day,1,@d1)
else
begin
select dateadd(day,9-datepart(weekday,@d1),@d1)
end
end
else
select @d1
------解决方案--------------------
select DATEADD(wk,DATEDIFF(wk,0,dateadd(dd,6-datepart(day,getdate()),getdate())),0) as 本月的第一个星期一

getdate()替换成你要的时间