Преобразовать строковую дату в datetime в Oracle

Как я могу преобразовать эту строку даты в datetime в оракуле.

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

3 ответа

Решение

Попробуй это:TO_DATE('2011-07-28T23:54:14Z', 'YYYY-MM-DD"T"HH24:MI:SS"Z"')

Вы можете использовать приведение к символу, чтобы увидеть результаты даты

 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-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') Теперь время не исчезает.

Другие вопросы по тегам