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

Jak zvládnout přestupné sekundy v Oracle

Od MOS-

Vložení přestupných sekund do sloupce časového razítka se nezdaří s ORA-01852 (DocID 1553906.1)

PLATÍ PRO:

Oracle Database – Enterprise Edition – verze 8.1.7.4 a novější

Oracle Database – Standard Edition – verze 8.1.7.4 a novější

Informace v tomto dokumentu platí pro jakoukoli platformu.

SYMPTOMY:

Pokus o vložení přestupných sekund do sloupce časového razítka se nezdaří s:ORA-01852:sekundy musí být mezi 0 a 59

PŘÍČINA

Není možné uložit hodnotu>59 sekund do datového typu data nebo časového razítka

ŘEŠENÍ

Chcete-li tento problém vyřešit, může být záznam o přestupné sekundě místo toho uložen v datovém typu avarchar2, např.

SQL> create table test (val number, t varchar2(30));

Table created.

SQL> insert into test values(123, '2012-06-30T23:59:60.000000Z');

1 row created.

Není to nejlepší řešení, ale jediné řešení.




  1. Import CSV do MySQL s jiným formátem data

  2. Jak nahradit hodnoty Null hodnotou Neznámý v příkazu Select v SQL Server - SQL Server / Kurz TSQL, část 111

  3. Základní správa MaxScale pomocí MaxCtrl pro MariaDB Cluster – část druhá

  4. SQL Server - Dynamická PIVOT tabulka - SQL Injection