Диапазон для типа данных даты Oracle: «1 января 4712 г. до н.э. по 31 декабря 9999 г. н.э.» Есть ли в этом диапазоне логика? - PullRequest
4 голосов
/ 28 августа 2010

Диапазон для типа данных даты Oracle: «1 января 4712 г. до н.э. до 31 декабря 9999 г. н.э.». Есть ли у диапазона логика?Я имею в виду, что диапазон имеет какое-то историческое значение или имеет какое-то отношение к программированию, объему памяти и т. Д. Мне просто интересно, почему только с 1 января 4712 года до нашей эры до 31 декабря 9999 года нашей эры.

Ответы [ 3 ]

3 голосов
/ 28 августа 2010

Это юлианская дата?

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

Википедия говорит 4713, хм ... выключено на 1 ...

Я думаю, верхний предел простоиз-за 4 цифр.

Документ Oracle говорит:

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

Юлианские даты допускают непрерывное датирование по количеству дней из общей ссылки.(Ссылка на 01-01-4712 гг. До н.э., поэтому текущие даты находятся где-то в диапазоне 2,4 млн.)что для преобразования требуется Y> = -4712:

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

1 голос
/ 28 августа 2010

4712: посмотрите на юлианский день: http://en.wikipedia.org/wiki/Julian_day#Alternatives

9999: самое высокое значение, представленное 4 цифрами - в конце этого года у нас будет еще один "тысячелетний жук"

1 голос
/ 28 августа 2010

Я подозреваю, что для простоты форматирования установлен верхний предел для самого высокого 4-значного года, а затем определяется начальный диапазон по вместимости базового типа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...