新手求助SQL 40ft0751]

发布时间:2016-12-6 20:07:40 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"新手求助SQL 40ft0751]",主要涉及到新手求助SQL 40ft0751]方面的内容,对于新手求助SQL 40ft0751]感兴趣的同学可以参考一下。

用一个SELECT查出本月的最后一个星期天是几号? 越简洁越好!谢谢! 工具:SQL SERVER 2008

刚不是写了吗

--本月的 select max(convert(varchar(10),getdate()+number,120)) from master..spt_values  where type='p'  and  DATEPART (dw,getdate()+number)=1 and  datediff(mm,getdate()+number,getdate())=0

set datefirst 1 ;with cte as  (     select DATEADD(DAY,number,convert(varchar(6),GETDATE(),112)+'01') mon     from master..spt_values      where type='p' and number >=0      and DATEADD(DAY,number,convert(varchar(6),GETDATE(),112)+'01')<ltrim(YEAR(GETDATE()))+right('00'+ltrim(month(GETDATE())+1),2)+'01'      and datepart(weekday,DATEADD(DAY,number,convert(varchar(6),GETDATE(),112)+'01'))=7 ) select * from cte t where not exists(select * from cte where MONTH(mon)=MONTH(t.mon) and mon>t.mon) mon ----------------------- 2011-02-27 00:00:00.000 (1 row(s) affected)

 select dateadd(day,                -datepart(weekday,convert(varchar(8),                             dateadd(month,1,getdate()),120)+'01')+1,                     convert(varchar(8),dateadd(month,1,getdate()),120)+'01') /* ----------------------- 2011-02-27 00:00:00.000

SELECT  CONVERT(DATE, DATEADD(dd,                               -DATEPART(dw,                                         DATEADD(mm, 1,                                                 CONVERT(VARCHAR(7), GETDATE(), 120)                                                 + '-01')) + 1,                               DATEADD(mm, 1,                                       CONVERT(VARCHAR(7), GETDATE(), 120)                                       + '-01'))) 凑个热闹,7哥的方法比较方便。

上一篇:sql 文求 sqlserver 20songweida8076]
下一篇:新手求助 40ft0751]

相关文章

相关评论