我的表中有一个月列。月份数字存储在此月份列中,例如 1 代表 1 月,2 代表 2 月,依此类推。
如何将数字转换为月份名称,例如一月、二月、三月等。
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')
如果你想在格式化的月份之后显示一个值,比如年份。月钉在一大堆空格上,这使得值看起来很奇怪。要解决此问题,您必须在附加后续字符串值之前修剪 Month 字符串。
select trim(TO_CHAR(TO_DATE(7, 'MM'), 'MONTH')) || ' 2020' month_yr from dual;
如果你想指定你的语言,你可以这样使用;
SELECT to_char(TO_DATE(6, 'MM'),'MONTH','NLS_DATE_LANGUAGE=Turkish') from dual;
它返回一个土耳其月份名称:Haziran