Oracle的日期是如何实现的?它是以毫秒或类似的单位存储的吗?
b0zn9rqh1#
Oracle DATE将日期和时间存储到秒。Oracle TIMESTAMP将日期和时间存储到9位亚秒精度,具体取决于可用的硬件。两者都是通过以压缩二进制格式存储日期和时间的各个组成部分来实现的。请参阅《Oracle Concepts Guide》中有关日期的部分Oracle使用自己的内部格式来存储日期。日期数据存储在每个七字节的固定长度字段中,对应于世纪、年、月、日、小时、分钟和秒。您可以使用DUMP()函数查看任何特定日期(或任何其他值)的内部表示,但这可能比您需要(或想要)知道的更多。
ttcibm8c2#
显然,不是以毫秒的形式。这实际上是有意义的,因为它们在当前日期/时间没有任何正在运行的操作:http://www.ixora.com.au/notes/date_representation.htmhttp://infolab.stanford.edu/~ullman/fcdb/oracle/or-time.htmlhttp://www.akadia.com/services/ora_date_time.html
r6hnlfcb3#
不可以。DATE是一个 timestamp 值,精度为秒。你需要TIMESTAMP(3)来存储毫秒。
3条答案
按热度按时间b0zn9rqh1#
Oracle DATE将日期和时间存储到秒。Oracle TIMESTAMP将日期和时间存储到9位亚秒精度,具体取决于可用的硬件。
两者都是通过以压缩二进制格式存储日期和时间的各个组成部分来实现的。请参阅《Oracle Concepts Guide》中有关日期的部分
Oracle使用自己的内部格式来存储日期。日期数据存储在每个七字节的固定长度字段中,对应于世纪、年、月、日、小时、分钟和秒。
您可以使用DUMP()函数查看任何特定日期(或任何其他值)的内部表示,但这可能比您需要(或想要)知道的更多。
ttcibm8c2#
显然,不是以毫秒的形式。
这实际上是有意义的,因为它们在当前日期/时间没有任何正在运行的操作:
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
r6hnlfcb3#
不可以。DATE是一个 timestamp 值,精度为秒。你需要TIMESTAMP(3)来存储毫秒。