问题描述
在某些列中提取日期的月份时,我需要帮助。
例如,整个表称为A
,日期列称为END_TIME
,其格式类似于MM-DD-YYYY HH24:MI:SS
。
解决方法
如果END_TIME
列的数据类型为DATE
(应该是,看起来像是),则应将TO_CHAR
函数应用于所需的格式掩码。这是一个示例:
SQL> create table a as select sysdate end_time from dual;
Table created.
SQL> alter session set nls_date_format = 'dd.mm.yyyy hh24:mi:ss';
Session altered.
SQL> select * From a;
END_TIME
-------------------
13.08.2020 08:51:04
SQL> select to_char(end_time,'Month','nls_date_language = english') mon from a;
MON
---------
August
SQL>
,
您可以像下面那样使用to_char函数。
select to_char(sysdate,'MONTH') FROM DUAL;
已经回答here