gpt4 book ai didi

MySQL 按current_timestamp 选择上个月的数据

转载 作者:可可西里 更新时间:2023-11-01 06:35:01 25 4
gpt4 key购买 nike

直到今天,当我使用 MySQL 并需要使用日期/时间执行操作时,我使用的是带有 unix 时间戳的 int 列,没有任何问题,但今天在阅读了一些指南后,我决定使用“current_timestamp”测试时间戳列默认情况下。

所以我很感兴趣如何按信息格式为“2012-09-07 00:23:30”的列选择上个月的数据?也许会有一些棘手的查询会给我从本月初开始的数据(不是过去 30 天,而是从 09-01 00:00:00 到今天)?

最佳答案

这会给你最后一个月:

WHERE dateColumn BETWEEN SUBDATE(CURDATE(), INTERVAL 1 MONTH) AND NOW();

从月初开始:

WHERE dateColumn BETWEEN STR_TO_DATE('2012-09-01', '%Y-%m-%d') AND NOW();

BETWEEN没什么特别的,它只是一个快捷方式

dateColumn <= ... AND dateColumn >= ....

嗯,我想实际上不需要 NOW() 比较,因为所有记录都在现在之前。

就这样吧:

WHERE dateColumn >= STR_TO_DATE('2012-09-01', '%Y-%m-%d')

当月动态开始:

WHERE dateColumn >= CURDATE() - INTERVAL DAY(CURDATE())-1 DAY

所有这一切都是从当前日期中提取该月的第几天,然后从中减去那么多天。

关于MySQL 按current_timestamp 选择上个月的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12309289/

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