小编典典

SQL“之间”不包括在内

all

我有一个这样的查询:

SELECT * FROM Cases WHERE created_at BETWEEN '2013-05-01' AND '2013-05-01'

但这没有给出任何结果,即使有 1 日的数据。

created_at看起来2013-05-01 22:25:19,我怀疑它与时间有关?如何解决?

如果我做更大的日期范围,它工作得很好,但它也应该(包括)与单个日期一起工作。


阅读 61

收藏
2022-08-27

共1个答案

小编典典

包容性的。您正在将日期时间与日期进行比较。 当一天开始时, 第二个日期被解释为午夜。

解决此问题的一种方法是:

SELECT *
FROM Cases
WHERE cast(created_at as date) BETWEEN '2013-05-01' AND '2013-05-01'

另一种解决方法是显式二进制比较

SELECT *
FROM Cases
WHERE created_at >= '2013-05-01' AND created_at < '2013-05-02'
2022-08-27