Is there a function built into Oracle that will return the highest possible date that may be inserted into a date field?
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
SELECT TO_DATE('31.12.9999 23:59:59', 'dd.mm.yyyy hh24:mi:ss')
FROM dual
Note that minimal date is much more simple:
SELECT TO_DATE(1, 'J')
FROM dual
回答2:
From the 11g docs:
Oracle Database can store dates in the Julian era, ranging from January 1, 4712 BCE through December 31, 9999 CE (Common Era, or 'AD').
http://download.oracle.com/docs/cd/B28359_01/server.111/b28318/datatype.htm#i1847
回答3:
I do not know of a function but according to this article:
Oracle 7: from January 1, 4712 BC to December 31, 4712 AD.
Oracle 8: from January 1, 4712 BC to December 31, 9999 AD.
Oracle 9: from January 1, 4712 BC to December 31, 9999 AD.
PL/SQL: from January 1, 4712 BC to December 31, 9999 AD.
回答4:
Another ways, just for fun:
SELECT to_date(5373484, 'J') + (1 - 1/24/60/60)
FROM dual;
SELECT date '9999-12-31' + (1 - 1/24/60/60)
FROM dual;
回答5:
In Julian format (JDDD) the max Oracle date is 2086307365.