【发布时间】:2012-01-11 21:50:26
【问题描述】:
所以我可以得到 SELECT DATEDIFF(CURDATE(),expires) 的日子,但不完全是一个月的输出一 (1)。这难道不能在 MySQL 中将其转换为月份吗?我想检查给定的日期(如 expires)是否 >= 1。
【问题讨论】:
标签: mysql date select datediff
所以我可以得到 SELECT DATEDIFF(CURDATE(),expires) 的日子,但不完全是一个月的输出一 (1)。这难道不能在 MySQL 中将其转换为月份吗?我想检查给定的日期(如 expires)是否 >= 1。
【问题讨论】:
标签: mysql date select datediff
SELECT
...
FROM
tablename
WHERE
expires<=DATE_SUB(CURDATE(), INTERVAL 1 MONTH);
将为您提供一个月前或更早过期的所有行
【讨论】:
使用以下查询
Select * from
table_name where TIMESTAMPDIFF
(MONTH,
ADDDATE(LAST_DAY(SUBDATE(expires, INTERVAL 1 MONTH)), 1),
ADDDATE(LAST_DAY(SUBDATE(CURDATE(), INTERVAL 1 MONTH)), 1)
)>=1
【讨论】: