Oracle - 如何将VARCHAR转换为DATETIME格式

时间:2013-02-19 06:23:00

标签: oracle date datetime oracle10g

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

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

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

3 个答案:

答案 0 :(得分:5)

Oracle date包含日期和时间,因此您可以将其视为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

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

答案 1 :(得分:1)

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

详细了解oracle日期类型here

答案 2 :(得分:0)

是的Date数据类型将满足您的需求,但您必须每次跳过一些箍以获得确切的时间。绝对使用Timestamp数据类型。