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

关于日期范围如何减去天数
我有一SQL语句是这样的,如下:
select * from ov_sal_ord_detail
WHERE ( ov_sal_ord_detail.sheet_kind = 'SAL04' ) 
AND ( Convert(char(10),ov_sal_ord_detail.sheet_date,121)>='2012-06-01'
 And Convert(char(10),ov_sal_ord_detail.sheet_date,121)<='2012-06-30' And 
ov_sal_ord_detail.part_item_no<='ZZZ' And ov_sal_ord_detail.audit_sw like '%' ) 
意思是:查询2012-6-1至2012-6-30范围的所有销售订单

我现在问题和要求:想查询最近7天的所有数据,即查询当前日期,然后往前推7天,这一时间范围内的订单信息。
我使用的是getdate()函数获取当前日期,但是向前推7天的一至不成功(即起始日期不成功),查询出来是所有时间范围内的订单,所以想请教各位我的起始日期范围应该如何设置,谢谢!
我目前的语句如下:但是不成功


select * from ov_sal_ord_detail
WHERE ( ov_sal_ord_detail.sheet_kind = 'SAL04' ) 
AND ( Convert(char(10),ov_sal_ord_detail.sheet_date,121)>='(trunc(getdate()-7))'
 And Convert(char(10),ov_sal_ord_detail.sheet_date,121)<='getdate()' And 
ov_sal_ord_detail.part_item_no<='ZZZ' And ov_sal_ord_detail.audit_sw like '%' ) 

出错位置:ov_sal_ord_detail.sheet_date,121)>='(trunc(getdate()-7))'此处想请教各位我应该如何修改?
此处成功:Convert(char(10),ov_sal_ord_detail.sheet_date,121)<='getdate()' 

请各位高手多多指教,不胜感激


------解决方案--------------------
SQL code
>=getdate()-7

------解决方案--------------------
SQL code

>=dateadd(dd,-7,getdate())