代码改变世界

MSSQL日期推算--本周一的日期和本周结束日期本月开始日期和本月结束日期

2010-03-22 21:26  观海看云  阅读(366)  评论(0编辑  收藏  举报

--当天的星期因为得到的 weekday 比实际的多一天  所以当天减去一天 才能得到正确的星期 数 

select DatePart(weekday, dateadd(dd,-1,getdate()))    

--本周一的日期

select convert(varchar(10),dateadd(dd,-(DatePart(weekday, dateadd(dd,-1,getdate()))-1),getdate()),120)

--本周日的日期

select convert(varchar(10),dateadd(dd,(7-DatePart(weekday, dateadd(dd,-1,getdate()))),getdate()),120)

--本月的开始日期

select convert(varchar(10),dateadd(dd,-DatePart(day,dateadd(dd,-1,getdate())),getdate()),120)

--本月的最后一天日期

select convert(varchar(10),dateadd(dd,-DatePart(day,dateadd(MM,1,getdate())),dateadd(MM,1,getdate())),120)