gpt4 book ai didi

MYSQL:使用 date_format 查询两个日期之间的数据不起作用

转载 作者:行者123 更新时间:2023-11-29 01:58:17 25 4
gpt4 key购买 nike

我正在尝试在两个日期之间进行查询。日期以 String 格式输入,%d/%b/%y , 从选择框中获取。

SELECT * FROM `Data`
WHERE DATE_FORMAT(`date`, '%d/%b/%Y')
BETWEEN '25/Feb/2008' AND '04/Mar/2008'

我没有从上面的查询中得到任何结果。但是,以下查询给了我一些结果:

SELECT * FROM `Data`
WHERE DATE_FORMAT(`date`, '%d/%b/%Y')
BETWEEN '25/Feb/2008' AND '28/Feb/2008'

我认为问题的发生是因为它比较了文本而不是 Date 格式。我已经找了一个小时了。任何帮助将不胜感激。

编辑:最后,我找到了如下解决方案。

SELECT * FROM `Data`
WHERE DATE(`Begin`) BETWEEN STR_TO_DATE('25/Feb/2008', '%d/%b/%Y') AND
STR_TO_DATE('04/Feb/2008', '%d/%b/%Y')

最佳答案

当您使用 date_format 时,您将 date 转换为 varchar,这意味着您对其进行的所有比较都将是 < strong>词典,而不是基于日期。相反,您应该将字符串文字转换为日期:

SELECT * 
FROM `data`
WHERE `date` BETWEEN STR_TO_DATE('25/Feb/2008', '%d/%y/%m') AND
STR_TO_DATE('28/Feb/2008', '%d/%y/%m')

关于MYSQL:使用 date_format 查询两个日期之间的数据不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21959279/

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