我对sql很新,所以我不知道如何改变下面的行来考虑到新的一年。我正在运行的sql server查询将在2014年1月1日运行。这会在sql server 2008中运行还是需要在新的一年中更改以捕获2013?
DT.[DOS-DATE] between convert(date,GETDATE()-7) and convert(date,GETDATE())
答案 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
: