Comment obtenez-vous la date maximale possible dans Oracle?
Existe-t-il une fonction intégrée dans Oracle qui retournera la date la plus élevée possible qui peut être insérée dans un champ de date?
5 réponses
SELECT TO_DATE('31.12.9999 23:59:59', 'dd.mm.yyyy hh24:mi:ss')
FROM dual
Notez que la date minimale est beaucoup plus simple:
SELECT TO_DATE(1, 'J')
FROM dual
À partir des documents 11g:
Oracle Database peut stocker des dates de L'ère Julienne, allant du 1er janvier 4712 avant notre ère au 31 décembre 9999 CE (ère commune, ou "AD").
Http://download.oracle.com/docs/cd/B28359_01/server.111/b28318/datatype.htm#i1847
Une autre façon, juste pour le plaisir:
SELECT to_date(5373484, 'J') + (1 - 1/24/60/60)
FROM dual;
SELECT date '9999-12-31' + (1 - 1/24/60/60)
FROM dual;
Je ne sais pas de fonction mais selon cet article:
Oracle 7: du 1er janvier 4712 avant JC au 31 décembre 4712 après JC.
Oracle 8: du 1er janvier 4712 avant JC au 31 décembre 9999 après JC.
Oracle 9: du 1er janvier 4712 avant JC au 31 décembre 9999 après JC.
PL / SQL: du 1er janvier 4712 avant JC au 31 décembre 9999 après JC.
Au format Julien (JDDD), la date Oracle maximale est 2086307365.