【问题标题】:MySQL query date by format like MMYYMySQL 按格式查询日期,如 MMYY
【发布时间】:2020-07-23 15:59:06
【问题描述】:

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

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

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

我有带有expiration_date 的卡片,例如:0523

如何选择下个月的到期日期?我以为我对DATE_FORMAT 有一个好方法。

【问题讨论】:

    标签: mysql sql date date-formatting


    【解决方案1】:

    你可以使用:

    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'))
    

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

    【讨论】:

    • 不错不错!似乎比较(>或
    • 感谢“本月或下个月”的语法!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多