在mysql中是否可以将整数/列转换为月份名称?例如,1变为“jan”或“january”。13及以后给出一个错误,或永远不会使用。
bwitn5fc1#
我们可以使用 Str_To_Date() 功能。现在,我们只需要使用 Monthname() 函数从日期中提取月份名称。只有当 NO_ZERO_DATE 模式已禁用。尝试:
Str_To_Date()
Monthname()
NO_ZERO_DATE
SET sql_mode = ''; -- disable NO_ZERO_DATE mode SELECT MONTHNAME(STR_TO_DATE(1, '%m'));
正如@felk在评论中所建议的,如果我们需要缩短月份名称,我们可以使用 Date_Format() 改为函数:
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
1条答案
按热度按时间bwitn5fc1#
我们可以使用
Str_To_Date()
功能。现在,我们只需要使用
Monthname()
函数从日期中提取月份名称。只有当
NO_ZERO_DATE
模式已禁用。尝试:
正如@felk在评论中所建议的,如果我们需要缩短月份名称,我们可以使用
Date_Format()
改为函数:如果你不想禁用
NO_ZERO_DATE
模式,则可以使用月份和调用创建任意随机日期Monthname()
: