Oracle TIMESTAMP WITH TIMEZONE命名区域与偏移量

在oracle中,指定的时区是否始终存储?

我一直在我们的系统中测试这个列,在某些地方,时间戳显示为:

26-FEB-09 11.36.25.390713 AM +13:00

但其他时候是:

26-FEB-09 11.36.25.390713 AM Pacific/Auckland

如果将值存储为前者,是否表示实际时区未存储?

我担心,因为如果未来日期仅存储偏移量,我们可能无法确定原始时区的实际时间,因为您可以确定时区的偏移量,但反之亦然.

谢谢

这很容易测试
create table foo ( tswtz TIMESTAMP WITH TIME ZONE);
    /

insert into foo values (TO_TIMESTAMP_TZ ('21-FEB-2009 18:00:00 -5:00','DD-MON-YYYY HH24:MI:SS TZH:TZM'));


insert into foo values (TO_TIMESTAMP_TZ ('21-FEB-2009 18:00:00 EST','DD-MON-YYYY HH24:MI:SS TZR'));
    select tswtz,extract(timezone_abbr from tswtz),extract(TIMEZONE_REGION from tswtz)
from foo;


TSWTZ         EXTRACT(TIMEZONE_ABBRFROMTSWTZ) EXTRACT(TIMEZONE_REGIONFROMTSWTZ)                                
------------- ------------------------------- ---------------------------------------------------------------- 
21-FEB-09 06.00.00.000000000 PM -05:00   UNK                          UNKNowN                                                          
21-FEB-09 06.00.00.000000000 PM EST      EST                             EST                                                              

2 rows selected

它存储你告诉它的内容.如果你告诉它一个偏移,那么这个偏移可能对一个或多个时区有好处,那么为什么它只选一个呢?

相关文章

Java Oracle 结果集是Java语言中处理数据库查询结果的一种方...
Java AES和Oracle AES是现代加密技术中最常使用的两种AES加密...
Java是一种广泛应用的编程语言,具备可靠性、安全性、跨平台...
随着移动互联网的发展,抽奖活动成为了营销活动中不可或缺的...
Java和Oracle都是在计算机领域应用非常广泛的技术,他们经常...
Java 是一门非常流行的编程语言,它可以运行于各种操作系统上...