27

如何在 oracle 中将此字符串日期转换为日期时间。

2011-07-28T23:54:14Z

使用此代码会引发错误:

TO_DATE('2011-07-28T23:54:14Z',  'YYYY-MM-DD HH24:MI:SS')

如何才能做到这一点?

Error report:
SQL Error: ORA-01861: literal does not match format string
01861. 00000 -  "literal does not match format string"
*Cause:    Literals in the input must be the same length as literals in
           the format string (with the exception of leading whitespace).  If the
           "FX" modifier has been toggled on, the literal must match exactly,
           with no extra whitespace.
*Action:   Correct the format string to match the literal.

更新:-

TO_DATE('2011-07-28T23:54:14Z', 'YYYY-MM-DD"T"HH24:MI:SS"Z"')

我只在列中看到日期而不是时间

28-JUL-11
4

3 回答 3

54

试试这个: TO_DATE('2011-07-28T23:54:14Z', 'YYYY-MM-DD"T"HH24:MI:SS"Z"')

于 2011-10-27T18:43:57.730 回答
1

嘿,我有同样的问题。我试图将 '2017-02-20 12:15:32' varchar 转换为日期,TO_DATE('2017-02-20 12:15:32','YYYY-MM-DD HH24:MI:SS')我收到的只是 2017-02-20 时间消失了

我的解决方案是TO_TIMESTAMP('2017-02-20 12:15:32','YYYY-MM-DD HH24:MI:SS')现在使用时间不会消失。

于 2017-02-21T13:29:20.123 回答
0

您可以使用 cast to char 查看日期结果

 select to_char(to_date('17-MAR-17 06.04.54','dd-MON-yy hh24:mi:ss'), 'mm/dd/yyyy hh24:mi:ss') from dual;

于 2017-03-27T13:39:25.543 回答