我在一个表的一列中有以下值:1,2,3,4,5 ... 12表示一年中的几个月。这些只是数字,而不是日期,或从日期或类似的东西派生。
如何从这些数字中获取月份(写出)?所以如果我这样做
SELECT TO_NUMBER(TO_CHAR(TO_DATE('December', 'Month'), 'MM')) MONTH_NUM FROM DUAL;
我可以从月份获得该号码。但是如何从数字中获得月份(相反)?如果值为1,则输出应为Jan。如果值为2,则输出应为2月。依此类推。
答案 0 :(得分:2)
to_char( to_date( <<the number>>,
'MM' ),
'fmMonth' )
应该为您提供您正在寻找的东西。
1* select to_char( to_date( 1, 'MM' ), 'fmMonth' ) from dual
SQL> /
TO_CHAR(TO_DATE(1,'MM'),'FMMONTH')
------------------------------------
January