Oracle
 sql >> база данни >  >> RDS >> Oracle

ORA-01821:форматът на датата не е разпознат, грешка за ISO 8601 дата с местно време

Имате два проблема:TO_DATE не разпознава компоненти на часова зона или части от секунди, ще трябва да го конвертирате в клеймо с часова зона и .s не е начинът, по който представяте дробни секунди, имате нужда от .ff . Валидните модели на формат са показани в документацията .

Събирайки ги заедно, можете да направите:

SELECT TO_TIMESTAMP_TZ ('2015-08-26T05:46:30.488+0100',
 'YYYY-MM-DD"T"hh24:mi:ss.ffTZHTZM')
FROM DUAL;

TO_TIMESTAMP_TZ('2015-08-26T05:46:30.488+0100','YYYY-MM-DD"T"HH24:MI:SS.FFTZHTZ
-------------------------------------------------------------------------------
26-AUG-15 05.46.30.488000000 +01:00                                             

Ако наистина го искате като дата, ще трябва да решите какво да правите с информацията за часовата зона - или да приемете, че е местно време (по същество го игнорирайте), или да преобразувате в UTC или друга часова зона. Все пак може наистина да искате да го запазите като клеймо за време с часова зона.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Отворете модален диалогов прозорец чрез JavaScript Oracle APEX

  2. изпрати променлива тип REFCURSOR към Oracle Съхранена процедура от Java

  3. Как да извика функция на Oracle с Ref Cursor като Out-параметър от C#?

  4. Как да увеличите размера на буфера в Oracle SQL Developer, за да видите всички записи?

  5. Няма oci8 модул в phpinfo()