如何在oracle中将月份数转换为完整月份名称?

时间:2012-07-09 08:17:48

标签: sql oracle

我的桌子上有一个月的专栏。月份数据存储在此月份列中,例如1表示1月份,2表示为feb,依此类推。

如何将数字转换为月份名称,例如1月,2月,3月等。

3 个答案:

答案 0 :(得分:30)

SELECT TO_CHAR(TO_DATE(7, 'MM'), 'MONTH') AS monthname FROM DUAL;

outputs

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