Php MySQL获取上个月的datetime类型的行
我正在尝试显示上个月发送的邮件。如果今天的日期是2014年8月11日,那么我想显示日期为11/07/14-11/08/14的消息 我的数据库上的日期字段的值为2014-08-10 17:20:28 type:datetime 我正在使用以下查询,但它不起作用,我认为问题是日期之后的时间?我删除了%h:%I:%s,但它仍然不工作Php MySQL获取上个月的datetime类型的行,php,mysql,date,datetime,mysqli,Php,Mysql,Date,Datetime,Mysqli,我正在尝试显示上个月发送的邮件。如果今天的日期是2014年8月11日,那么我想显示日期为11/07/14-11/08/14的消息 我的数据库上的日期字段的值为2014-08-10 17:20:28 type:datetime 我正在使用以下查询,但它不起作用,我认为问题是日期之后的时间?我删除了%h:%I:%s,但它仍然不工作 SELECT * FROM messages WHERE ...... AND (date_sent BETWEEN DATE_FORMAT(CURRENT_DAT
SELECT *
FROM messages
WHERE ......
AND (date_sent BETWEEN DATE_FORMAT(CURRENT_DATE - INTERVAL 1 MONTH, '%Y-%m-01 %h:%i:%s')
AND LAST_DAY(CURRENT_DATE - INTERVAL 1 MONTH))
ORDER BY date_sent DESC
有什么建议吗?可能是您当前使用的日期值,请立即尝试使用
因为您发送的日期已经是日期时间,所以根本不需要日期格式的调用。MySQL可以轻松比较自己的日期格式:
SELECT *
FROM messages
WHERE date_sent >= NOW() - INTERVAL 1 MONTH
SELECT *
FROM messages
WHERE date_sent >= NOW() - INTERVAL 1 MONTH