Comment voulez-vous obtenir le maximum possible dans Oracle?
Est-il une fonction intégrée dans Oracle, qui sera de retour le plus élevé possible de la date qui peut être inséré dans un champ de date?
- Pourquoi ? Si vous commencez à mettre en dummy haute-date' valeurs dans un tableau, il peut 'confondre' l'optimiseur qui va supposer que vous avez toute la gamme des valeurs de date, réparties sur les 8 prochains mille ans.
Vous devez vous connecter pour publier un commentaire.
Note qu'un minimum de date est beaucoup plus simple:
TO_DATE('9999', 'yyyy')
serait beaucoup plus court et acceptable comme solution de rechange, en particulier lors de l'utilisation de fusionner les valeurs null dans les comparaisons.TO_DATE(1, 'J')
retourne 1er janvier de l'année en cours pour moi?SELECT to_char(TO_DATE('31.12.9999 23:59:59', 'dd.mm.yyyy hh24:mi:ss'), 'J') FROM dual;
donnerait5373484
. D'où la deuxième requête doit êtreSELECT to_date(5373484, 'J') FROM dual;
.De la 11g docs:
Oracle Base de données peut stocker des dates dans le calendrier Julien époque, allant du 1er janvier 4712 BCE et le 31 décembre 9999 EC (Ère Courante, ou "ANNONCE").
http://download.oracle.com/docs/cd/B28359_01/server.111/b28318/datatype.htm#i1847
Je ne connais pas de fonction mais selon cet article:
Une autre façons, juste pour le fun:
SELECT to_date(5373484, 'J') + (1 - 1/24/60/60) FROM dual;
Dans Julian format (JDDD) max Oracle date est 2086307365.