新手求助 40ft0751]

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

怎样取得每个月最后一个星期天是几号? 语句:SQL server 2008

set datefirst 1 declare @year int=2011  ;with cte as  ( select DATEADD(DAY,number,LTRIM(@year)+'0101') mon from master..spt_values  where type='p' and number >=0  and DATEADD(DAY,number,LTRIM(@year)+'0101')<LTRIM(@year+1)+'0101'  and datepart(weekday,DATEADD(DAY,number,LTRIM(@year)+'0101'))=7 ) select * from cte t where not exists(select * from cte where MONTH(mon)=MONTH(t.mon) and mon>t.mon) mon ----------------------- 2011-01-30 00:00:00.000 2011-02-27 00:00:00.000 2011-03-27 00:00:00.000 2011-04-24 00:00:00.000 2011-05-29 00:00:00.000 2011-06-26 00:00:00.000 2011-07-31 00:00:00.000 2011-08-28 00:00:00.000 2011-09-25 00:00:00.000 2011-10-30 00:00:00.000 2011-11-27 00:00:00.000 2011-12-25 00:00:00.000 (12 row(s) affected)

我想要当月的~~

能用一个SELECT语句解决吗?

凑合用吧 select max(convert(varchar(10),getdate()+number,120)) from master..spt_values  where type='p'  and  DATEPART (dw,getdate()+number)=1 group by left(convert(varchar(10),getdate()+number,120),7)             ----------  2011-02-27 2011-03-27 2011-04-24 2011-05-29 2011-06-26 2011-07-31 2011-08-28 2011-09-25 2011-10-30 2011-11-06 (所影响的行数为 10 行)

--当月 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

上一篇:新手求助SQL 40ft0751]
下一篇:分布式数据库的设计与实现 100songguozhi]

相关文章

相关评论