SQL Server日期设置

时间:2016-12-14 22:06:31

标签: sql sql-server

跑到一个小问题。 我有一个基于日期的scrpit。我需要的是检索14天前的数据,不包括它运行的日期。 例; date run 12/15/2016应在12/1/2016 - 2016年12月14日之间检索数据。 我遇到的问题是它以日期运行结束。请参阅下面我设定的标准。

where a.UF_1 <> '' and (DATEDIFF(dd, a.TRANSACTION_DATE, getdate()) <14)

任何帮助表示赞赏。 谢谢。

2 个答案:

答案 0 :(得分:4)

select *  from yourTable 
where datecolumn < getdate() 
  and datecolumn >=dateadd(dd,-14,getdate())

或。 。 。

declare @someDateVariable datetime - '12/15/2016'
select *  
from yourTable 
where cast(datecolumn as date) < cast(@someDateVariable as date) 
  and datecolumn >= dateadd(dd,-14,@someDateVariable)

答案 1 :(得分:0)

你的意思是这样的:

where a.UF_1 <> '' and cast(a.TRANSACTION_DATE as date) between cast(getdate()-14 as date) and cast(getdate()-1 as date)

我认为a.UF_1a.TRANSACTION_DATE都不可为空。否则请处理此问题。