加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长百科 > 正文

oracle如何在内部存储带时区的时间戳

发布时间:2021-01-19 12:51:15 所属栏目:站长百科 来源:网络整理
导读:基于Oracle文档,它在数字方面内部存储时区的差异部门和时区.我读了这篇文章 http://www.orafaq.com/wiki/Timestamp,它表明白时刻戳内部名目标算法.以是我做了一个简朴的测试来验证它. SQL create table tz_test(id number,tz timestamp with time zone); Tab

基于Oracle文档,它在数字方面内部存储时区的差异部门和时区.我读了这篇文章 http://www.orafaq.com/wiki/Timestamp,它表明白时刻戳内部名目标算法.以是我做了一个简朴的测试来验证它.

SQL> create table tz_test(id number,tz timestamp with time zone);

 Table created.

 SQL> insert into tz_test values(1,timestamp '1999-10-29 21:00:00 -7:00');

 1 row created.

 SQL> insert into tz_test values(2,timestamp '1999-10-29 21:00:00 US/Pacific');

 1 row created.

 SQL> select id,dump(tz,10) from tz_test where tz=timestamp '1999-10-29 21:00:00 -7:00';

    ID     DUMP(TZ,10)
 --------------------------------------------------------------------------------

     1     Typ=181 Len=13: 119,199,10,30,5,1,13,60

     2     Typ=181 Len=13: 119,137,156

orafaq中的文章接头了oracle怎样存储时区偏移量,我的第一行测试证明白这一点.可是没有关于怎样存储时区笔墨的信息.以是我很想知道它.我也想在内部相识oracle怎样评估timestamp’1999-10-29 21:00:00 -7:00’和timestamp’1999-10-29 21:00:00 US / Pacific’是沟通的.

办理要领

它们好像是来自 time zone file的地区ID,譬喻$ORACLE_HOME / oracore / zoneinfo区/ timezone_14.dat.

In this SQL Fiddle,带时区PST8PDT的值最后两个字节为0x83,0x64;它与MOS文档ID 414590.1提议的值相匹配.

我看不到任何列出全部也许值的引用,可能搜查时区文件的任何明明要领.它好像没有记录,这对内部名目来说并不公道.您可以行使沟通的要领找出您感乐趣的值或全部值,但我不确定您为什么要这样做.

尚有另一个您也许会认为有效的支持文档,340512.1,这是一个关于时刻戳和时区的常见题目解答.

要将地区名称转换为偏移值,您可以行使the tz_offs function,但它行使当前日期 – 因此您获得的谜底取决于您是在冬季照旧夏日扣问.要获取特定日期的偏移量,您必要将该时刻戳与UTC时刻戳举办较量.并且你不能真正走另一条路,由于多个时戋戋域映射沟通的偏移量.

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读