如何使用tsql获取前一天的记录?

Use*_*404 7 sql t-sql sql-server-2005

我需要从最后一天开始的所有记录?

你好

Select * from table1 where tabledate > getdate() -1 
Run Code Online (Sandbox Code Playgroud)

有了这个查询,我需要在午夜之后运行以获得准确的结果.我需要在白天运行它并获得前一天的所有记录.

Mat*_*lie 8

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

DATEADD(day, DATEDIFF(day, 0, yourDate), 0)
Run Code Online (Sandbox Code Playgroud)

在你的情况下,它只完成一次,所以这并不重要.但它确实提供了以下查询.

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