Come si ottiene la data massima possibile in Oracle?
Domanda
C'è una funzione integrata in Oracle che restituirà il più alto possibile data che può essere inserito in un campo data?
Soluzione
SELECT TO_DATE('31.12.9999 23:59:59', 'dd.mm.yyyy hh24:mi:ss')
FROM dual
Si noti che la data minima è molto più semplice:
SELECT TO_DATE(1, 'J')
FROM dual
Altri suggerimenti
Dalla documentazione 11g:
Oracle Database in grado di memorizzare le date in epoca Julian, che vanno dal 1 ° gennaio 4712 aC fino al 31 dicembre 9999 CE (Common Era, o 'AD').
http://download.oracle. com / docs / cd / B28359_01 / server.111 / b28318 / datatype.htm # i1847
Non so di una funzione, ma in base al questo articolo :
Oracle. 7: dal 1 ° gennaio 4712 aC al 31 dicembre 4712 dC
Oracle. 8: dal 1 ° gennaio 4712 aC e il 31 dicembre, 9999 dC
Oracle. 9: dal 1 ° gennaio 4712 aC e il 31 dicembre, 9999 dC
PL / SQL: dal 1 ° gennaio 4712 aC e il 31 dicembre, 9999 AD.
Un altro modo, solo per divertimento:
SELECT to_date(5373484, 'J') + (1 - 1/24/60/60)
FROM dual;
SELECT date '9999-12-31' + (1 - 1/24/60/60)
FROM dual;
In formato Giuliano (JDDD) la data massima Oracle è 2086307365.