在MySQL中是否可以将整数/列转换为月份名称? 例如,1变为“ Jan”或“ January”。 13及更高版本给出错误,否则将永远不会使用。
答案 0 :(得分:1)
Str_To_Date()
函数将给定的输入数字转换为MySQL日期格式(仅针对月份)。Monthname()
函数从日期中提取月份名称即可。NO_ZERO_DATE
模式时有效。尝试:
SET sql_mode = ''; -- disable NO_ZERO_DATE mode
SELECT MONTHNAME(STR_TO_DATE(1, '%m'));
根据注释中的 @Felk 的建议,如果需要缩短月份名称,可以改用Date_Format()
函数:
SET sql_mode = ''; -- disable NO_ZERO_DATE mode
SELECT DATE_FORMAT(STR_TO_DATE(1, '%m'), '%b');
如果您不想禁用NO_ZERO_DATE
模式,则可以使用月份创建任意随机日期并调用Monthname()
:
SELECT MONTHNAME(CONCAT('2018-',3,'-1')); -- 3 is the input number