Oracle日期数据类型的范围:“公元前4712年1月1日至公元9999年12月31日”,该范围背后是否有任何逻辑? 我的意思是该范围具有任何历史意义,或者它与编程和内存大小等有关。 我只是想知道,为什么只能从公元前4712年1月1日到公元9999年12月31日。
答案 0 :(得分:3)
那是朱利安的日期?
http://en.wikipedia.org/wiki/Julian_day
维基百科说4713,嗯...关闭1 ...
我猜上限只是因为4位数。
Oracle doc说
http://download.oracle.com/docs/cd/B19306_01/server.102/b14220/datatype.htm#i1847
朱利安日期允许连续约会 按共同的天数 参考。 (参考是 公元前01-01-4712年,所以当前日期 在240万的某个地方 范围内。)
修改
我猜4712而不是4713的原因是转换需要Y> = -4712:
http://en.wikipedia.org/wiki/Julian_day#Converting_Julian_calendar_date_to_Julian_Day_Number
答案 1 :(得分:1)
我怀疑它将格式化的上限设置为最高的4位数年份,然后根据基础类型的容量推断出范围的开始。
答案 2 :(得分:1)
4712:看看朱利安日:http://en.wikipedia.org/wiki/Julian_day#Alternatives
<9>:最高值以4位数字显示 - 今年年底我们将有另一个“milleniumbug”