Oracle
 sql >> Base de données >  >> RDS >> Oracle

Comment gérer les secondes intercalaires dans Oracle

De MOS-

L'insertion de secondes intercalaires dans une colonne d'horodatage échoue avec ORA-01852 (DocID 1553906.1)

S'APPLIQUE À :

Oracle Database - Enterprise Edition - Version 8.1.7.4 et ultérieure

Base de données Oracle - Édition standard - Version 8.1.7.4 et ultérieure

Les informations contenues dans ce document s'appliquent à toutes les plateformes.

SYMPTÔMES :

Une tentative d'insertion de secondes intercalaires dans une colonne d'horodatage échoue avec :ORA-01852 :les secondes doivent être comprises entre 0 et 59

CAUSE

Il n'est pas possible de stocker une valeur> 59 secondes dans un type de données de date ou d'horodatage

SOLUTION

Pour contourner ce problème, le deuxième enregistrement intercalaire peut être stocké dans le type de données avarchar2 à la place, par exemple

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.

Pas la meilleure solution, mais la seule solution.