【发布时间】:2015-02-24 16:13:53
【问题描述】:
我正在尝试获取过去 2 天的所有记录,但不包括今天的日期。我想获取仅包含过去 2 天提交日期的名称和位置。 date_submitted 的数据类型是 datetime。
select name, location
from myTable
where date_submitted in (select CAST(FLOOR(CAST(GETDATE() AS FLOAT)) AS DATETIME))
【问题讨论】:
-
为什么将日期转换为浮点数?
-
@Zane:这似乎是截断日期的最佳执行方式:stackoverflow.com/a/923322/993547。
-
您的参考资料似乎表明
Cast( GetDate() as Date )是首选,因为它被证明可以正常工作,并且不依赖于DATETIME的当前二进制格式。你的意图也更清晰,清晰在现实世界中具有相当大的价值。
标签: sql sql-server tsql