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?

21
demandé sur Glenn Wark 2009-03-26 23:51:30

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
28
répondu Quassnoi 2015-02-13 15:56:25

À 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

7
répondu Angelo Marcotullio 2009-03-26 21:02:11

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;
2
répondu FerranB 2015-02-13 05:19:18

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.

1
répondu Andrew Hare 2009-03-26 20:58:47

Au format Julien (JDDD), la date Oracle maximale est 2086307365.

0
répondu TonyP 2012-03-02 22:02:50