SqlServer 某年月第二个周一是几号

问题: http://community.csdn.net/Expert/topic/5610/5610428.xml?temp=.6264459

declare @s varchar(20)
declare @t datetime
set @s='2007-6'
set @t=convert(datetime,@s+'-1')
select DATEADD(wk, DATEDIFF(wk,0, dateadd(dd,6-datepart(day,@t),@t) ), 7)

--结果:2007-6-11


可以使用两个函数来判断:

select getdate(),datename(weekday,getdate()),datepart(weekday,getdate())

datename 返回星期名称;

datepart 返回数值;

例子:

select   
case   datepart(dw,getdate()) 
when   1   then   '星期天 ' 
when   2   then   '星期一 ' 
when   3   then   '星期二 ' 
when   4   then   '星期三 ' 
when   5   then   '星期四 ' 
when   6   then   '星期五 ' 
when   7   then   '星期六 ' 
end


posted on 2007-06-20 11:41  HTTP500  阅读(157)  评论(0)    收藏  举报