我的桌子上有一个月的专栏。月份数据存储在此月份列中,例如1表示1月份,2表示为feb,依此类推。
如何将数字转换为月份名称,例如1月,2月,3月等。
答案 0 :(得分:30)
SELECT TO_CHAR(TO_DATE(7, 'MM'), 'MONTH') AS monthname FROM DUAL;
monthname
---------
JULY
如果您确实希望月份名称为小写或大写,您还可以使用:
TO_CHAR(TO_DATE(7, 'MM'), 'month')
TO_CHAR(TO_DATE(7, 'MM'), 'Month')
答案 1 :(得分:1)
如果要在格式年份(如Year)之后显示一个值。一个月在一大堆空格上加点,使值看起来很奇怪。要解决此问题,您必须在附加后续字符串值之前修剪Month字符串。
select trim(TO_CHAR(TO_DATE(7, 'MM'), 'MONTH')) || ' 2020' month_yr from dual;
答案 2 :(得分:1)
如果要指定语言,则可以这样使用;
SELECT to_char(TO_DATE(6, 'MM'),'MONTH','NLS_DATE_LANGUAGE=Turkish') from dual;
它返回土耳其的月份名称:Haziran