2012-03-18 63 views
4

我正在寻找,也曾在甲骨文文件,以下:甲骨文时间戳,最大值和最小值

  • 什么是时间戳在甲骨文的范围内?

我知道日期是-4712,扬01至9999 DEC-31,但什么时间戳?

任何人都可以搜索我的线索或提示吗?

回答

7

你总是可以只是尝试:

SQL> select to_timestamp('9999-12-31 23:59:59', 'yyyy-mm-dd hh24:mi:ss') from dual; 

TO_TIMESTAMP('9999-12-3123:59:59','YYYY-MM-DDHH24:MI:SS') 
--------------------------------------------------------------------------- 
31-DEC-99 11.59.59.000000000 PM 

和:

SQL> select to_timestamp('9999-12-31 23:59:59', 'yyyy-mm-dd hh24:mi:ss')+1 from dual; 
select to_timestamp('9999-12-31 23:59:59', 'yyyy-mm-dd hh24:mi:ss')+1 from dual 
                    * 
ERROR at line 1: 
ORA-01841: (full) year must be between -4713 and +9999, and not be 0 
+0

谢谢,我附近没有oracle服务器试试,但它应该记录在任何地方。 – kamahl 2012-03-18 20:01:27

2

这将是令人惊讶的,如果用于时间戳的日期部分的范围比为DATE的范围小,所以它应该是:

-4712-01-01 00:00:00 to 9999-12-31 23:59:59.999999 

即假定没有时区; UTC值可能会被限制在该范围内,但东部时区中的某个人可能会设法在其时区中查看1000-01-01上的数据值。

很难从Oracle网站上找到确切的数据。我在一个偶然的调查中发现的最好的是:

可能有其他人。


我发现了一个报价,其称:

TIMESTAMP数据类型

timestamp数据类型是DATE数据类型的扩展。它存储年份, 月份和DATE数据类型的日期以及小时,分钟和秒值。

+0

啊好了,所以它竟基本上是相同的边界。谢谢。 – kamahl 2012-03-18 22:46:46

+1

http://docs.oracle.com/javadb/10.6.2.1/ref/rrefdttlimits.html这链接到日期类型限制列表。但似乎有点隐藏。 – 2017-05-11 13:07:10