Question

Y at-il une fonction intégrée dans Oracle qui renverra le plus rapidement possible qui peut être insérée dans un champ de date?

Était-ce utile?

La solution

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

Autres conseils

A partir de 11g docs:

Base de données Oracle peut stocker des dates à l'époque Julian, allant du 1er Janvier, 4712 BCE jusqu'au 31 Décembre, 9999 CE (ère, ou 'AD').

http://download.oracle. com / docs / cd / B28359_01 / server.111 / b28318 / datatype.htm # i1847

Je ne sais pas d'une fonction, mais selon cet article :

  

Oracle 7:. à partir du 1er Janvier, 4712 BC au 31 Décembre, 4712 AD
   Oracle 8. à partir du 1er Janvier, 4712 BC au 31 Décembre, 9999 AD
   Oracle 9:. à partir du 1er Janvier, 4712 BC au 31 Décembre, 9999 AD
   PL / SQL: à partir du 1er Janvier, 4712 BC au 31 Décembre, 9999.

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;

En format Julian (JDDD) la date max Oracle est 2086307365.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top