MySQL 按 MMYY 等格式查询日期

MySQL query date by format like MMYY

我有一张 table,CB 卡的到期日期格式为 MMYY(例如:0322)。我想查询下个月到期的卡

我知道 DATE_FORMAT,但是当我尝试这个查询时:

SELECT * FROM payment_way WHERE expiration_date <= DATE_FORMAT(NOW(), "%m%y")

我有 expiration_date 的卡片,例如:0523

如何 select 下个月的到期日期?我以为我有一个很好的方法 DATE_FORMAT.

您可以使用:

where expiration_date = date_format(now() + interval 1 month, '%m%y')

您还应该修复到期日期,以便使用更标准的格式存储它。至少 YYYYMM,如果不是正确的日期。

如果你想要这个月或下个月,我建议:

where expiration_date in (date_format(now(), '%m%y'), date_format(now() + interval 1 month, '%m%y'))

它们都是索引安全的,因此它们可以在您的列上使用索引。