sql >> Databáze >  >> RDS >> Oracle

ORA-01821:Chyba formátu data nebyl rozpoznán pro datum ISO 8601 s místním časem

Máte dva problémy:TO_DATE nerozpozná žádné komponenty časového pásma nebo zlomkové sekundy, budete jej muset převést na časové razítko s časovým pásmem a .s stejně nepředstavujete zlomkové sekundy, potřebujete .ff . Platné modely formátu jsou zobrazeny v dokumentaci .

Dát je dohromady můžete:

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                                             

Pokud to opravdu chcete jako datum, budete se muset rozhodnout, co uděláte s informacemi o časovém pásmu – buď předpokládejte, že je to místní čas (v podstatě jej ignorujte), nebo převeďte na UTC nebo jiné časové pásmo. Možná si to budete chtít ponechat jako časové razítko s časovým pásmem.



  1. 2 způsoby, jak odstranit duplicitní řádky v SQLite

  2. Jak používat připravené příkazy v dotazech s klauzulí IN v PHP

  3. Potíže při provádění příkazu MySQL delete v Javě

  4. Použití řazení souborů k řazení podle sloupce data a času v MySQL