【问题标题】:Sorting month name in mysql [closed]在mysql中对月份名称进行排序[关闭]
【发布时间】:2013-11-24 04:31:35
【问题描述】:

我将月份名称作为字符串存储在数据库中,如下所示

Apr-2013
May-2013
...

如何按月对表格进行排序?

感谢任何帮助。

【问题讨论】:

    标签: php mysql sorting query-string


    【解决方案1】:

    您必须格式化日期才能对其进行排序:

    select aDate from t
    order by str_to_date(aDate,'%b-%Y')
    

    不过,这非常低效。我建议您更新该字段并将其设置为日期字段或至少两个整数:一个用于月份,一个用于年份。然后,如果您需要获取月份的名称,您可以使用monthname(date) 函数。

    【讨论】:

    • 谢谢它对我来说很好。我会考虑你的建议
    【解决方案2】:
    SELECT
      *
    FROM
      dates
    ORDER BY
      STR_TO_DATE(date, '%b-%Y')
    

    SQL Fiddle

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-03-09
      • 1970-01-01
      • 2018-06-19
      • 1970-01-01
      • 2020-08-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多