在列中提取日期的月份

问题描述

在某些列中提取日期的月份时,我需要帮助。 例如,整个表称为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