Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Umgang mit Schaltsekunden in Oracle

Von MOS-

Das Einfügen von Schaltsekunden in eine Zeitstempelspalte schlägt mit ORA-01852 (DocID 1553906.1) fehl

GILT FÜR:

Oracle Database – Enterprise Edition – Version 8.1.7.4 und höher

Oracle Database – Standard Edition – Version 8.1.7.4 und höher

Die Informationen in diesem Dokument gelten für alle Plattformen.

SYMPTOME:

Ein Versuch, Schaltsekunden in eine Zeitstempelspalte einzufügen, schlägt fehl mit:ORA-01852:Sekunden müssen zwischen 0 und 59 liegen

URSACHE

Es ist nicht möglich, einen>59-Sekunden-Wert in einem Datums- oder Zeitstempel-Datentyp

zu speichern

LÖSUNG

Um dieses Problem zu umgehen, kann der Schaltsekundendatensatz stattdessen im avarchar2-Datentyp gespeichert werden, z. B.

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.

Nicht die beste Lösung, aber die einzige Lösung.