更改以下内容以考虑新的一年

时间:2013-12-10 15:51:22

标签: sql-server

我对sql很新,所以我不知道如何改变下面的行来考虑到新的一年。我正在运行的sql server查询将在2014年1月1日运行。这会在sql server 2008中运行还是需要在新的一年中更改以捕获2013?

DT.[DOS-DATE] between convert(date,GETDATE()-7) and convert(date,GETDATE())

2 个答案:

答案 0 :(得分:0)

此查询记录过去7天和今天之间的记录。在这种情况下,这一年并不重要。

答案 1 :(得分:0)

最好在日期使用显式运算符。此外,没有理由两次致电GETDATE()。试试这个:

DECLARE @Now DATETIME = GETDATE()
...
DT.[DOS-DATE] between convert(date,DATEADD(day, -7, @Now)) and convert(date,@Now)

但是,从技术上讲,您现有的代码将起作用。

此外,您可能需要查看使用BETWEEN

的潜在问题