如何在MySql中将月份转换为月份?

时间:2017-01-23 20:21:40

标签: mysql date monthcalendar

我正在使用MySql 5.5.37。我有月份numbesr的列,就像表格

一样
201601

如何将此转换为年份后的月份字?也就是说,上面的内容将被转换为

January, 2016

3 个答案:

答案 0 :(得分:0)

使用str_to_date()进行第一次转化,然后使用date_format()进行第二次转化。格式字符为%Y表示四位数年份,%m表示两位数月份,%M表示月份字符串(例如" 1月和#34;)

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

输出为

| 2016-01-00 | January, 2016 |

答案 1 :(得分:0)

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

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

如果您的字段是字符串或数字,则无关紧要。

答案 2 :(得分:0)

使用函数date_format

示例

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

并且有必要将201601转换为日期时间对象,使用函数str_to_date。请注意,201601需要一个月中的组件,我们可以{{}}} 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