Oracle查询:如何以完整名称及数值格式显示月份
Oracle日期格式调整:获取完整月份名与数值月份
要将CURRENT_DATE的月份转换为完整英文名称或数值格式,使用Oracle的TO_CHAR()函数配合对应的格式模型即可,以下是具体实现:
1. 获取完整英文月份名(如NOVEMBER)
使用格式模型'FMMonth',其中Month会返回带空格填充的完整月份名,FM前缀用于去除末尾的空格:
SELECT TO_CHAR(CURRENT_DATE, 'FMMonth') AS full_month_name FROM DUAL;
如果需要强制返回英文月份(不受会话NLS语言设置影响),可以指定语言参数:
SELECT TO_CHAR(CURRENT_DATE, 'FMMonth', 'NLS_DATE_LANGUAGE=ENGLISH') AS full_month_name FROM DUAL;
2. 获取数值格式的月份
- 两位数值格式(如11、03):使用格式模型
'MM'SELECT TO_CHAR(CURRENT_DATE, 'MM') AS two_digit_month FROM DUAL; - 无前置零的数值格式(如11、3):使用格式模型
'FMMM'SELECT TO_CHAR(CURRENT_DATE, 'FMMM') AS numeric_month FROM DUAL;
一次性查询多种格式
如果需要同时查看原始日期、完整月份名和数值月份,可以合并查询:
SELECT CURRENT_DATE AS original_date, TO_CHAR(CURRENT_DATE, 'FMMonth', 'NLS_DATE_LANGUAGE=ENGLISH') AS full_month_name, TO_CHAR(CURRENT_DATE, 'MM') AS two_digit_month, TO_CHAR(CURRENT_DATE, 'FMMM') AS numeric_month FROM DUAL;
内容的提问来源于stack exchange,提问作者Octopus
相关产品推荐
相关产品推荐

