declare @dt datetime
set @dt='2007-6-3'
select @dt as sur,dateadd(day,
case datepart(weekday,@dt)
when 1 then 3
when 2 then 2
when 3 then 2
when 4 then 2
when 5 then 4
when 6 then 4
when 7 then 3
end
,@dt
) as resultset @dt='2007-6-4'
select @dt as sur,dateadd(day,
case datepart(weekday,@dt)
when 1 then 3
when 2 then 2
when 3 then 2
when 4 then 2
when 5 then 4
when 6 then 4
when 7 then 3
end
,@dt
) as resultset @dt='2007-6-5'
select @dt as sur,dateadd(day,
case datepart(weekday,@dt)
when 1 then 3
when 2 then 2
when 3 then 2
when 4 then 2
when 5 then 4
when 6 then 4
when 7 then 3
end
,@dt
) as resultset @dt='2007-6-6'
select @dt as sur,dateadd(day,
case datepart(weekday,@dt)
when 1 then 3
when 2 then 2
when 3 then 2
when 4 then 2
when 5 then 4
when 6 then 4
when 7 then 3
end
,@dt
) as resultset @dt='2007-6-7'
select @dt as sur,dateadd(day,
case datepart(weekday,@dt)
when 1 then 3
when 2 then 2
when 3 then 2
when 4 then 2
when 5 then 4
when 6 then 4
when 7 then 3
end
,@dt
) as resultset @dt='2007-6-8'
select @dt as sur,dateadd(day,
case datepart(weekday,@dt)
when 1 then 3
when 2 then 2
when 3 then 2
when 4 then 2
when 5 then 4
when 6 then 4
when 7 then 3
end
,@dt
) as result
set @dt='2007-6-3'
select @dt as sur,dateadd(day,
case datepart(weekday,@dt)
when 1 then 3
when 2 then 2
when 3 then 2
when 4 then 2
when 5 then 4
when 6 then 4
when 7 then 3
end
,@dt
) as resultset @dt='2007-6-4'
select @dt as sur,dateadd(day,
case datepart(weekday,@dt)
when 1 then 3
when 2 then 2
when 3 then 2
when 4 then 2
when 5 then 4
when 6 then 4
when 7 then 3
end
,@dt
) as resultset @dt='2007-6-5'
select @dt as sur,dateadd(day,
case datepart(weekday,@dt)
when 1 then 3
when 2 then 2
when 3 then 2
when 4 then 2
when 5 then 4
when 6 then 4
when 7 then 3
end
,@dt
) as resultset @dt='2007-6-6'
select @dt as sur,dateadd(day,
case datepart(weekday,@dt)
when 1 then 3
when 2 then 2
when 3 then 2
when 4 then 2
when 5 then 4
when 6 then 4
when 7 then 3
end
,@dt
) as resultset @dt='2007-6-7'
select @dt as sur,dateadd(day,
case datepart(weekday,@dt)
when 1 then 3
when 2 then 2
when 3 then 2
when 4 then 2
when 5 then 4
when 6 then 4
when 7 then 3
end
,@dt
) as resultset @dt='2007-6-8'
select @dt as sur,dateadd(day,
case datepart(weekday,@dt)
when 1 then 3
when 2 then 2
when 3 then 2
when 4 then 2
when 5 then 4
when 6 then 4
when 7 then 3
end
,@dt
) as result
解决方案 »
- 求一SQL交集,求解?
- 很迷惑!! 关于 SQL 2000 UNICODE 编码问题? 高手请进!! 24小时内结贴!!
- 求教~分别(汇总)查询12个月的数据 (改过)
- 谁能救救我?数据库能否恢复?
- 如何获取一个数据库中的所有表的名称、一个表中所有字段的名称?
- 请教:获得当前连接的数据库,并更改库
- 如何把通过select语句获得的数据集中为空的字段的值用‘0’添充默认值??
- 为什么存储过程调用出错?
- 郁闷的问题:数据并发控制问题
- 老千,偶不明白:sql server的许可,既然有了图形操作,为什么还要用语句授权??似乎不必要的,还有角色//牛虻
- 这种结果能不能实现,请高手指点
- 我下了个优化sql的工具,但连接不上各位帮忙?
--至少记录大于3条以上declare @d datetime
set @d = '2006-6-6'
select top 1 d,datepart(dw,d)
from (select dateAdd(day,ID,'2007-06-09') as d from #) a
where datediff(d,@d,d) > 0 and datepart(dw,d) >1drop table #