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

Ava*_*i Y -2 oracle datetime date oracle10g

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

 select to_char(START_TIME, 'YYMMDD HH24:MI:SS') from table;
Run Code Online (Sandbox Code Playgroud)

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

Daz*_*zaL 5

Oracle date包含日期和时间,因此您可以将其视为一个datetime(datetimeOracle中没有数据类型).如何选择显示取决于完全由您的客户决定.默认显示设置由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
Run Code Online (Sandbox Code Playgroud)

但同样,这只是为了显示.

  • @Avadhani - '它不起作用'是非常无益的.什么不起作用 - 你得到不同的格式,或错误?你正在做DazzaL展示的或你自己的变化吗? (4认同)