用SQL自带的函数就可以,一个是返回指定天数后的日期,一个的返回指日期的星期几。以后就不用我说了吧
解决方案 »
- 真心求高手来帮我补充一下这个SQL语句,往下不会写了,真的需要高手,版主来看看吧。需求很BT。关于自动生成SQL语句的
- SQLServer2000的问题
- 关于触发器的困惑
- SQL SERVER 能否像oracle一样分析表的结构
- sql server 存储过程将一系列查询结果输出到txt文档中保存?
- 多表查詢中,A表查B表有相同記錄,就取出,如果找不到相同數據,那麼麼在A表就顯示空白.保證顯示的數據量還是A表的. ???
- sql逻辑查询,看是否能不用游标! 高手帮忙!
- 交叉表方面的问题,如何作这样的查询?
- 关于数据库乱码的问题
- 我用rs.open "select number from table", cn 然后怎样得到rs中数据的和呢?谢!
- 我的SQL SERVER为什么装上总是不能用? 急人啊!
- 什么原因能导致数据库中的表重新被建?
(
select top 7 getdate()+20+(select sum(1) from sysobjects where name<=a.name) as dt
from sysobjects a
) tmp
where datepart(weekday,dt) = 6
----------
2004-01-16(所影响的行数为 1 行)
set @ = '2003-12-10' --getdate()select dateadd(day, ( 7 - datepart(weekday,dateadd(day,21,@)) + 6),dateadd(day,21,@))
declare @ datetime
set @ = '2003-12-10' --getdate()select dateadd(day, ( 7 - datepart(weekday,dateadd(day,21,@)) + 6),dateadd(day,21,@))用2003/12/10为例,21天之后是2003/12/31,而那个礼拜五应该是2004/01/02,但是上面的SQL给出的答案是2004/01/09。
set @ = '2003-12-10' --getdate()select dateadd(day, case when datepart(weekday,dateadd(day,21,@)) >= 6 then (13 - datepart(weekday,dateadd(day,21,@)))
else 6 - datepart(weekday,dateadd(day,21,@)) end ,dateadd(day,21,@))