【发布时间】:2021-11-29 07:18:31
【问题描述】:
我有一个问题
SELECT *
FROM SAMPLETABLE
WHERE CAST(CreatedDate AS DATETIME) = '2020-01-01 09:00:58'
这对我有用。但我在 yyyy-MM-dd hh:ss 中输入了
SELECT *
FROM SAMPLETABLE
WHERE CAST(CreatedDate AS DATETIME) = '2020-01-01 09:00'
返回零记录。如何过滤这些数据?
【问题讨论】:
-
CreatedDate是 varchar 吗? -
它的日期时间...
-
您需要避免在列上使用
CAST,因为您将强制对整个表进行顺序扫描,而不是使用索引。你会想要SELECT * FROM SAMPLETABLE WHERE CreatedDate BETWEEN '2020-01-01 09:00:00' AND '2020-01-01 09:00:59' -
虽然@MikeChristensen 会省略
2020-01-01 09:00:593和2020-01-01 09:00:597的时间。最好使用>=和<语法。
标签: sql sql-server tsql