SQL Server和日期+ 1结果

ahm*_*md0 6 sql sql-server datetime

在SQL Server的情况下.比方说,如果我有一个带有[myDate]列的表,其类型为datetime,那么在下面的上下文中添加1是什么意思呢?

SELECT * 
  FROM [myTable] 
 WHERE [myDate] + 1 > @someDate
Run Code Online (Sandbox Code Playgroud)

gbn*_*gbn 9

它增加了一天(恰好24小时)

但是,您的查询更加正确.如果列中有一个列,则列上的函数或处理通常会使索引使用无效

WHERE [myDate] > @someDate - 1
Run Code Online (Sandbox Code Playgroud)

要么

WHERE [myDate] > DATEADD(day, -1, @someDate)
Run Code Online (Sandbox Code Playgroud)

  • @Adam Porad:排名前十的SQL错误中的第二名:http://www.simple-talk.com/sql/t-sql-programming/ten-common-sql-programming-mistakes/ (2认同)