我想要完成的是选择前一天创建的表中的所有记录 - 并且记录作为'smalldatetime'存储在表中,因此它还包括创建记录的时间。 / p>
如果我在WHERE子句中使用了DATEADD函数,那么我没有返回我知道不正确的记录。
Appt.CreatedDateTime = DATEADD(DAY, -1, GETDATE())
如何删除时间戳以查找前一天创建的所有记录?
谢谢,
答案 0 :(得分:3)
你有几个选择。您可以将列投射为DATE,也可以进行日期数学运算。
where Appt.CreatedDateTime >= dateadd(day, datediff(day, 0, getdate()) - 1, 0) --beginning of yesterday
and Appt.CreatedDateTime < dateadd(day, datediff(day, 0, getdate()), 0) --beginning of today
OR
CAST(Appt.CreatedDateTime as DATE) = DATEADD(DAY, -1, GETDATE())