gpt4 book ai didi

SQL "between"不包含在内

转载 作者:行者123 更新时间:2023-12-01 16:47:46 28 4
gpt4 key购买 nike

我有一个这样的查询:

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

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

created_at 看起来像 2013-05-01 22:25:19,我怀疑这与时间有关?怎么解决这个问题?

如果我执行更大的日期范围,它就可以正常工作,但它也应该(包括)适用于单个日期。

最佳答案

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

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

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'

Aaron Bertrand 有一篇关于日期的长博客文章 ( here ),他在其中讨论了这个问题和其他日期问题。

关于SQL "between"不包含在内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16347649/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com