代码之家  ›  专栏  ›  技术社区  ›  Charu

Oracle日期数据类型的范围:“公元前4712年1月1日至公元9999年12月31日”,该范围是否有任何逻辑依据?

  •  4
  • Charu  · 技术社区  · 14 年前

    Oracle日期数据类型的范围:“公元前4712年1月1日至公元9999年12月31日”,该范围是否有任何逻辑依据? 我只是在想,为什么只从公元前4712年1月1日到公元9999年12月31日。

    3 回复  |  直到 14 年前
        1
  •  3
  •   Markus Winand    14 年前

    那是朱利安的约会?

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

    维基百科上说4713,嗯…差1。。。

    甲骨文医生说

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

    从一个普通的 参考文献。(参考号为 公元前01-01-4712年,所以现在的日期 范围。)

    编辑

    我猜4712而不是4713的原因是转换需要Y>=-4712:

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

        2
  •  1
  •   djna    14 年前

    我怀疑它将易于格式化的上限设置为最高的4位数年份,然后根据基础类型的容量推断范围的开始。

        3
  •  1
  •   Erhard Dinhobl    14 年前

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

    9999:最高值以4位数字表示-今年年底我们将有另一个“千禧年”