Sql 在列中提取日期的月份
我需要帮助在某个列中提取日期的月份。 例如,整个表称为Sql 在列中提取日期的月份,sql,oracle,date,Sql,Oracle,Date,我需要帮助在某个列中提取日期的月份。 例如,整个表称为A,日期列称为END\u TIME,其格式如下MM-DD-YYYY HH24:MI:SS 我希望我的输出是月份的名称。如果结束时间列的数据类型是日期(应该是,看起来是),那么您应该使用所需的格式掩码将应用于\u CHAR函数。下面是一个例子: SQL> create table a as select sysdate end_time from dual; Table created. SQL> alter session s
A
,日期列称为END\u TIME
,其格式如下MM-DD-YYYY HH24:MI:SS
我希望我的输出是月份的名称。如果
结束时间
列的数据类型是日期
(应该是,看起来是),那么您应该使用所需的格式掩码将应用于\u 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>
如果
END\u TIME
列的数据类型为DATE
(应该是,看起来像是),则应使用所需的格式掩码将应用于\u 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;
已经回答了这是一个很好的开端,您可以使用下面的to_char函数
select to_char(sysdate, 'MONTH') FROM DUAL;
已回答提示:使用提取功能的一种方法。如果结束时间是数据类型DATE,那么它没有您显示的格式或任何其他“格式”。它的“格式”是oracle内部的日期二进制格式。您显示的是日期的字符串表示形式,通过显式或隐式使用TO_CHAR函数生成。有关更多信息,请参见“是”,我显示的格式是字符串表示。我不确定这是否是oracle中的默认格式。但这就是我每次提取时得到的数据。提示:使用提取函数的一种方法。如果结束时间是数据类型DATE,那么它没有您显示的格式或任何其他“格式”。它的“格式”是oracle内部的日期二进制格式。您显示的是日期的字符串表示形式,通过显式或隐式使用TO_CHAR函数生成。有关更多信息,请参见“是”,我显示的格式是字符串表示。我不确定这是否是oracle中的默认格式。但这就是我每次提取时得到的数据;vwafer是列结束时间所在的位置。但它不起作用。你在Oracle上工作,你得到了什么?我试着从vwafer选择char(结束时间,'MONTH');vwafer是列结束时间所在的位置。但它不起作用。你在Oracle上工作,你得到了什么?dual是一个SYS拥有的一行一列表,在Oracle中对“未知”源表运行SELECT语句时经常使用。dual是一个SYS拥有的一行一列表,在Oracle中对“未知”源表运行SELECT语句时经常使用。