我有一个包含 dateTime 类型列的表。我想做一个查询,选择发生在该日期的所有行。基本上,
SELECT * FROM Table
WHERE [timeStamp] = '02-15-2003'
但这仅返回 [timeStamp] 为 '02-15-2003 00:00:00.000' 的行,但我真的想要当天任何时间的行。
最佳答案
如果你有索引,你会想要一些不会阻止索引被使用的东西:
SELECT *
FROM Table
WHERE [timeStamp] >= '20030215'
AND [timeStamp] < '20030216'
您可以对
[timeStamp]
进行截断操作列摆脱任何时间部分(依赖于实现),但这可能会损害执行计划。不幸的是,您确实必须查看执行计划才能看到这一点,因为有时优化器对某些函数很聪明,有时则不然。
关于sql - 选择 WHERE 日期 = 天,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10541447/