日期:2014-05-18  浏览次数:20507 次

日期操作问题,在线结分
select   datediff(day,7,datediff(day,(datepart(weekday,GetDate())-@@datefirst+7)%7,GetDate()))  
这句话得出的是39317这样一个数,能不能把它换算为日期格式
说得简单点就是datediff(day,7,2007-09-04)得出的是一个以天为单位的数字
有没有什么其它的方法,就是把一个日期减去一个数字(单位为天)后得出另一个日期
如2007-09-04减7后得出一个2007-08-28


------解决方案--------------------
select dateadd(day,-7, '2007-09-04 ')
------解决方案--------------------
select Convert(datetime,datediff(day,7,datediff(day,(datepart(weekday,
GetDate())-@@datefirst+7)%7,GetDate())) )
------解决方案--------------------
select dateadd(day,-7, '2007-09-04 ')
------解决方案--------------------
select dateadd(day,-7, '2007-09-04 ')

/*

------------------------------------------------------
2007-08-28 00:00:00.000

(所影响的行数为 1 行)
*/