sql >> Database teknologi >  >> RDS >> Oracle

Sådan håndterer du springsekunder i Oracle

Fra MOS-

Indsæt springsekunder i en tidsstempelkolonne mislykkes med ORA-01852 (DocID 1553906.1)

GÆLDER FOR:

Oracle Database - Enterprise Edition - Version 8.1.7.4 og nyere

Oracle Database - Standard Edition - Version 8.1.7.4 og nyere

Oplysningerne i dette dokument gælder for enhver platform.

SYMPTOMER:

Et forsøg på at indsætte springsekunder i en tidsstempelkolonne, mislykkes med:ORA-01852:sekunder skal være mellem 0 og 59

ÅRSAG

Det er ikke muligt at gemme>59 sekunders værdi i en dato- eller tidsstempeldatatype

LØSNING

For at løse dette problem kan springsekundrecorden gemmes i avarchar2 datatype i stedet for, f.eks.

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.

Ikke den bedste løsning, men den eneste løsning.




  1. Hvordan bruger man eksisterende Oracle-sekvens til at generere id i dvale?

  2. SQL Data Definition Language

  3. SQL Server-fejl 111:"...skal være den første sætning i en forespørgselsbatch"

  4. Hvordan bruger jeg Psycopg2's LoggingConnection?