gpt4 book ai didi

mySQL - 上个月的整个月

转载 作者:行者123 更新时间:2023-11-29 01:13:55 24 4
gpt4 key购买 nike

我正在尝试使用以下语句检查上个月发生的所有记录。

Select  *  from statistics 
where statistics_date
BETWEEN date_format(NOW() - INTERVAL 1 MONTH, '%Y-%m-01')
AND last_day(NOW() - INTERVAL 1 MONTH )

但是,选择不包括最后一天。我想要的是从该月的第一秒到该月的最后一秒。

最佳答案

BETWEEN对于日期和时间戳的工作来说是出了名的糟糕,因为它得到了错误的结束日期。

这是你需要的:

首先,让我们计算当前月份的第一天。你完全正确。

 DATE_FORMAT(NOW(),'%Y-%m-01')

接下来,让我们计算上个月的第一天:

 DATE_FORMAT(NOW(),'%Y-%m-01') - INTERVAL 1 MONTH

现在,我们选择区间内的记录。

Select * 
from statistics
where statistics_date >= DATE_FORMAT(NOW(),'%Y-%m-01') - INTERVAL 1 MONTH
and statistics_date < DATE_FORMAT(NOW(),'%Y-%m-01')

您看到如何使用 >= 选择日期范围的开始了吗?并以 < 结尾?您看到我如何使用本月的第一天作为日期范围的结束了吗?这些东西很重要,因为时间戳可以包含日期和时间。考虑时间戳“2013-01-31 23:58”。它恰好在“2012-01-31”之后,所以 between 不会捕捉到它。

关于mySQL - 上个月的整个月,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14647291/

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