跑到一个小问题。 我有一个基于日期的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)
任何帮助表示赞赏。 谢谢。
答案 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_1
或a.TRANSACTION_DATE
都不可为空。否则请处理此问题。