【问题标题】:Oracle date甲骨文日期
【发布时间】:2008-10-09 14:18:52
【问题描述】:

Oracle date 是如何实现的?它是否存储为毫秒或类似的东西?

【问题讨论】:

    标签: oracle


    【解决方案1】:

    Oracle DATE 将日期和时间存储到秒。 Oracle TIMESTAMP 将日期和时间存储到最多 9 位亚秒精度,具体取决于可用的硬件。

    两者都是通过以打包二进制格式存储日期和时间的各个组成部分来实现的。来自Oracle Concepts Guide section on dates

    Oracle 使用自己的内部格式 存储日期。日期数据存储在 七个字节的固定长度字段 每个,对应于世纪,年份, 月、日、时、分和秒。

    您可以使用DUMP() 函数查看任何特定日期(或任何其他值)的内部表示,但这可能比您需要(或想要)知道的要多。

    【讨论】:

      【解决方案2】:

      显然,不是毫秒的形式。

      这实际上是有道理的,因为它们在当前日期/时间没有任何正在运行的操作:

      http://www.ixora.com.au/notes/date_representation.htm

      http://infolab.stanford.edu/~ullman/fcdb/oracle/or-time.html

      http://www.akadia.com/services/ora_date_time.html

      【讨论】:

        【解决方案3】:

        没有。 DATE 是具有秒精度的 时间戳 值。您需要 TIMESTAMP(3) 来存储毫秒数。

        【讨论】:

          猜你喜欢
          • 2011-01-03
          • 2011-03-10
          • 1970-01-01
          • 1970-01-01
          • 2013-12-06
          • 2014-09-06
          • 1970-01-01
          • 1970-01-01
          • 2013-06-17
          相关资源
          最近更新 更多