gpt4 book ai didi

MySQL在没有时间因素的情况下检索2个日期之间的结果不会输出确切日期的结果

转载 作者:行者123 更新时间:2023-11-29 21:08:34 26 4
gpt4 key购买 nike

This question给了我们如何在不使用时间因素的情况下查询两个日期之间的答案,就像这样

SELECT col1, col2, ..., coln
FROM order_table
WHERE order_date >= '2012-05-03'
AND order_date < '2012-05-04'

如果我们有以下日期

  1. 2012-05-02
  2. 2012-05-04

我们用这个

WHERE order_date >= '2012-05-01'
AND order_date < '2012-05-04'

只会输出2012-05-02不会输出2012-05-04

问题:如何在结果中包含 2012-05-04?我不希望我的用户选择 2012-05-05 只是为了输出 2012-05-04

最佳答案

WHERE order_date >= '2012-05-01'
AND order_date < '2012-05-05'

一天的持续时间为 24 小时,但这可以用极小的单位来衡量,因此 23:59:59 不是持续时间的终点。 MySQL 现在确实支持秒的小数部分,因此请不要依赖 23:59:59,请参阅 http://dev.mysql.com/doc/refman/5.7/en/fractional-seconds.html

唯一始终准确的方法是使用“LESS THAN THE NEXT DAY”。

如果您不希望用户看到第二天的值,只需采用所选的结束日期,但在代码中添加 1 天即可。例如

WHERE order_date >= '2012-05-01'
AND order_date < date_add('2012-05-04',INTERVAL 1 DAY)

关于MySQL在没有时间因素的情况下检索2个日期之间的结果不会输出确切日期的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36611841/

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