The range for Oracle Data Data Type is: "January 1, 4712 BC until December 31, 9999 CE." Does this logic have any logic?

The range for Oracle Data Data Type is: "January 1, 4712 BC until December 31, 9999 AD." Does this logic have any logic? I mean, the range has some historical meaning or something related to programming and memory size, etc. I just wonder why only from January 1, 4712 to December 31, 9999 AD.

+4
source share
3 answers

What is a Julian date?

http://en.wikipedia.org/wiki/Julian_day

Wikipedia says 4713, hmm ... from 1 ...

I think the upper limit is only due to 4 digits.

Oracle doc says

http://download.oracle.com/docs/cd/B19306_01/server.102/b14220/datatype.htm#i1847

Julian dates allow you to constantly meet by the number of days from the general Help. (Link 01-01-4712 years BC, so current dates are somewhere in the 2.4 million range.)

EDIT

I assume that the reason for 4712 instead of 4713 is because the conversion requires Y> = -4712:

http://en.wikipedia.org/wiki/Julian_day#Converting_Julian_calendar_date_to_Julian_Day_Number

+3
source

I suspect that he set an upper limit to facilitate formatting to the highest four-digit year, and then inferred the beginning of the range with the base type capackity.

+1
source

4712: look at Julian Day: http://en.wikipedia.org/wiki/Julian_day#Alternatives

9999: the highest value is presented in 4 digits - at the end of this year we will have another "milleniumbug"

+1
source

All Articles