当前位置: 代码迷 >> Sql Server >> 新手SQL
  详细解决方案

新手SQL

热度:96   发布时间:2016-04-27 17:19:32.0
新手求助SQL
用一个SELECT查出本月的最后一个星期天是几号?
越简洁越好!谢谢!

工具:SQL SERVER 2008


------解决方案--------------------
SQL code
--本月的select max(convert(varchar(10),getdate()+number,120))from master..spt_values where type='p' and  DATEPART (dw,getdate()+number)=1and  datediff(mm,getdate()+number,getdate())=0
------解决方案--------------------
SQL code
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 twhere 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)
  相关解决方案