【问题标题】:How do I convert month-year to a month word in MySql?如何在 MySql 中将月份-年份转换为月份单词?
【发布时间】:2017-01-23 20:21:40
【问题描述】:

我正在使用 MySql 5.5.37。我有月份-年份列,如表格

201601

如何将其转换为月份单词和年份?也就是说,上面会被转换成

January, 2016

【问题讨论】:

    标签: mysql date monthcalendar


    【解决方案1】:

    使用函数date_format

    例子

    select date_format('2016-01-01', '%M, %Y');
    -- returns January, 2016
    

    并且需要将201601 转换为日期时间对象,请使用函数str_to_date。请注意,201601 将需要一个日期组件,我们可以将其添加到 concatenating 01 使其成为 20160101

    例子

    select str_to_date('20160101', '%Y%m%d');
    -- returns 2016-01-01
    

    两者结合,

    select date_format(str_to_date(concat('201601', '01'), '%Y%m%d'), '%M, %Y')
    -- returns January, 2016
    

    【讨论】:

      【解决方案2】:

      使用str_to_date() 进行第一次转换,然后使用date_format() 进行第二次转换。格式字符为%Y 表示四位数的年份,%m 表示两位数的月份,%M 表示月份字符串(例如“January”)

      select 
        str_to_date('201601', '%Y%m')
        , date_format(str_to_date('201601', '%Y%m'), '%M, %Y')
      

      输出将是

      | 2016-01-00 | January, 2016 |
      

      【讨论】:

        【解决方案3】:

        基本上首先使用 STR_TO_DATE() 函数,方法是在表中提供模式并检索数据值,然后根据需要使用 DATE_FORMAT() 函数对其进行格式化。

        SELECT DATE_FORMAT(STR_TO_DATE(field_name, '%Y%m'), '%M, %Y') 
        FROM table_name
        

        你的字段是字符串还是数字都没关系。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2019-07-19
          • 1970-01-01
          • 1970-01-01
          • 2018-12-24
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-04-26
          相关资源
          最近更新 更多