Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 在列中提取日期的月份_Sql_Oracle_Date - Fatal编程技术网

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语句时经常使用。