我需要前一天的所有记录吗?

你好

Select * from table1 where tabledate > getdate() -1


使用此查询,我需要在午夜之后准确运行才能获得准确的结果。我需要在白天运行它,并获取前一天的所有记录。

最佳答案

在SQL Server 2005中,通常这是将日期时间转换为日期的最快方法:

DATEADD(day, DATEDIFF(day, 0, yourDate), 0)


在您的情况下,它只执行一次,因此实际的关系并不大。但是它确实给出了以下查询。

Select
  *
from
  table1
where
      tabledate >= DATEADD(day, DATEDIFF(day, 0, getDate()) - 1, 0)
  AND tabledate <  DATEADD(day, DATEDIFF(day, 0, getDate()),     0)

关于sql - 如何使用tsql获取前一天的记录?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9280059/

10-13 04:58