gpt4 book ai didi

mysql和日期比较带日期函数和不带日期函数

转载 作者:行者123 更新时间:2023-11-29 18:27:01 34 4
gpt4 key购买 nike

我注意到使用 date() 且不使用时有一个奇怪的行为:

当我使用时

SELECT * FROM `mytable` WHERE date(date_add) >= '2017-08-01' and date(date_add) <= '2017-08-31' 

我获取给定日期范围内的所有日期记录,但如果这样做:

SELECT * FROM `mytable` WHERE date_add >= '2017-08-01' and date_add <= '2017-08-31'

我没有得到最后一天 31 的行,为什么? (date_add字段为datetime类型)

编辑:

我应该如何正确编码日期范围?因为到目前为止我的理解是,如果我不使用像 YYYY-MM-DD HH-MM-SS 这样的全职时间,我应该始终与 DATE() 进行比较避免遗漏最后一天的结果。

最佳答案

这是因为 date_add 是一个 DATETIME 字段。如果表格中日期 2017-08-31 的时间类似于 08:15:0013:21:00,您的日期比2017-08-31 00:00:00“更大”。您的比较将仅返回时间为 00:00:002017-08-31 的数据。

关于mysql和日期比较带日期函数和不带日期函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46097442/

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