Oracle是否有内置函数可返回可插入日期字段的最大可能日期?
SELECT TO_DATE('31.12.9999 23:59:59', 'dd.mm.yyyy hh24:mi:ss')
FROM dual
请注意,最小日期要简单得多:
SELECT TO_DATE(1, 'J')
FROM dual
TO_DATE('9999', 'yyyy')
是一个更短且可接受的替代方案,特别是在使用合并空值进行比较时。 - AlexTO_DATE(1, 'J')
对我来说返回的是当年的1月1日吗? - Richard Dingwall根据11g文档:
Oracle数据库可以存储自公元前4712年1月1日至公元9999年12月31日的朱利安纪元日期。
http://download.oracle.com/docs/cd/B28359_01/server.111/b28318/datatype.htm#i1847
我不知道有没有相应的函数,但根据这篇文章的说法:
Oracle 7: 时间范围是公元前4712年1月1日至公元4712年12月31日。
Oracle 8: 时间范围是公元前4712年1月1日至公元9999年12月31日。
Oracle 9: 时间范围是公元前4712年1月1日至公元9999年12月31日。
PL/SQL: 时间范围是公元前4712年1月1日至公元9999年12月31日。
SELECT to_date(5373484, 'J') + (1 - 1/24/60/60)
FROM dual;
SELECT date '9999-12-31' + (1 - 1/24/60/60)
FROM dual;
SELECT to_date(5373484, 'J') + (1 - 1/24/60/60) FROM dual;
。 - Lalit Kumar B