-2

我正在使用Oracle10g数据库,其中一个表包含一个具有DateDataType 的列。我正在使用以下查询来获取记录:

 select to_char(START_TIME, 'YYMMDD HH24:MI:SS') from table;

所以从上面的查询中,结果将是 type VARCHAR。我尝试to_Date()了方法,但结果只显示DATE. 我可以转换VARCHARDATETIME格式吗?结果应该是类型DATETIME。请帮助我如何解决这个问题。

4

3 回答 3

5

Oracledate包含日期和时间,因此您可以将其视为一个datetime(Oracle 中没有数据类型datetime)。当您选择它时如何显示完全取决于您的客户。默认显示设置由NLS_DATE_FORMAT参数控制。如果您只是在您的 pl/sql 块中使用日期,那么只需将其分配给一个date数据类型并选择该变量而不使用to_char它,它将正常工作并包含表中存在的任何时间组件。

控制显示,例如使用nls_date_format

SQL> select a from datetest;
A
---------
19-FEB-13

SQL> alter session set nls_date_format='YYMMDD HH24:MI:SS';

Session altered.

SQL> select a from datetest;
A
---------------
130219 07:59:38

但同样,这只是为了展示。

于 2013-02-19T08:05:01.257 回答
1

Oracle 的Date类型字段包含日期/时间值,因此将其转换为Datetime没有任何意义(它已经是日期时间)

在此处阅读有关 Oracle 日期类型的更多信息

于 2013-02-19T06:41:50.617 回答
0

是的,日期数据类型将满足您的需求,但您每次都必须跳过一些圈子才能从中获得准确的时间。绝对使用 Timestamp 数据类型。

于 2013-02-19T07:38:23.690 回答