gpt4 book ai didi

mysql - 获取两个日期之间的数据

转载 作者:太空宇宙 更新时间:2023-11-03 11:09:38 25 4
gpt4 key购买 nike

我正在使用 MySql 数据库。我正在执行这样的查询:

select * 
from Request
where
DATE_FORMAT(created_On,'%e/%m/%Y') between DATE_FORMAT(CURDATE() - 30, '%e/%m/%Y') and DATE_FORMAT(CURDATE(),'%e/%m/%Y')

返回空白,表示结果中没有记录。

但是如果我这样写

select * 
from Request
where
DATE_FORMAT(created_On,'%e/%m/%Y') between DATE_FORMAT(CURDATE() - 27, '%e/%m/%Y') and DATE_FORMAT(CURDATE(),'%e/%m/%Y')

它将获取 100 百行。

我想问一下,为什么我要从当前日期减去 30 天?

最佳答案

假设您的日期列是正确的 DATETIMEDATE 字段,您不应使用 DATE_FORMAT()。使用 DATE_SUB()减去 30 天:

如果 created_OnDATETIME,使用 DATE() 截断时间部分:

SELECT * 
from Request
where
DATE(created_On) BETWEEN DATE_SUB(CURDATE(), INTERVAL 30 DAY) AND CURDATE()

如果 created_OnDATE,只需使用:

SELECT * 
from Request
where 
created_On BETWEEN DATE_SUB(CURDATE(), INTERVAL 30 DAY) AND CURDATE()

关于mysql - 获取两个日期之间的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9465956/

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