知识大全 Oracle基本数据类型存储格式浅析—日期类型(3)

Posted 时区

篇首语:亦余心之所善兮,虽九死其犹未悔。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Oracle基本数据类型存储格式浅析—日期类型(3)相关的知识,希望对你有一定的参考价值。

Oracle基本数据类型存储格式浅析—日期类型(3)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  对于公元前的日期 Oracle从 开始保存 公元前的年的保存的值和对应的公元后的年的值相加的和是 如上例中的公元 年和公元前 年的值相加 + = + =

  SQL中DATE类型最后还包括一个 似乎目前没有使用

  SQL> CREATE TABLE TEST_TIMESTAMP(TIME TIMESTAMP( ) TIME TIMESTAMP( ) WITH LOCAL TIME ZONE TIME TIMESTAMP( ) WITH TIME ZONE);

  表已创建

  SQL> INSERT INTO TEST_TIMESTAMP VALUES (SYSTIMESTAMP SYSTIMESTAMP SYSTIMESTAMP);

  已创建 行

  SQL> SELECT * FROM TEST_TIMESTAMP;

  TIME TIME TIME 月 下午 月 下午 月 下午 + :

  SQL> SELECT DUMP(TIME ) DUMP(TIME ) DUMP(TIME ) FROM TEST_TIMESTAMP;

  DUMP(TIME ) DUMP(TIME ) DUMP(TIME ) Typ= Len= : b b fc c Typ= Len= : b b fc c Typ= Len= : b b fc c c c

  可以发现 如果客户端和数据库中的时区是一致的 那么TIMESTAMP和TIMESTAMP WITH LOCAL TIME ZONE存储的数据是完全一样的

  TIMESTAMP WITH TIME ZONE则略有不同 它保存的是 时区的时间 和所处的时区信息

  修改客户端主机的时区 由东 区(+ 区)改为 时区

  SQL> INSERT INTO TEST_TIMESTAMP VALUES (SYSTIMESTAMP SYSTIMESTAMP SYSTIMESTAMP);

  已创建 行

  修改客户端主机的时区 改为西 区( 时区)

  SQL> INSERT INTO TEST_TIMESTAMP VALUES (SYSTIMESTAMP SYSTIMESTAMP SYSTIMESTAMP);

  已创建 行

  修改客户端主机的时区 改为西 区( 时区)

  SQL> INSERT INTO TEST_TIMESTAMP VALUES (SYSTIMESTAMP SYSTIMESTAMP SYSTIMESTAMP);

  已创建 行

  修改客户端主机的时区 改为东 区(+ 时区)

  SQL> INSERT INTO TEST_TIMESTAMP VALUES (SYSTIMESTAMP SYSTIMESTAMP SYSTIMESTAMP);

  已创建 行

  修改客户端主机的时区 改为西 区( 时区)

  SQL> INSERT INTO TEST_TIMESTAMP VALUES (SYSTIMESTAMP SYSTIMESTAMP SYSTIMESTAMP);

  已创建 行

  修改客户端主机的时区 改为东 区(+ 时区)

  SQL> INSERT INTO TEST_TIMESTAMP VALUES (SYSTIMESTAMP SYSTIMESTAMP SYSTIMESTAMP);

  已创建 行

  SQL> MIT;

  提交完成

  修改客户端主机的时区 改回东 区(+ 时区)

  SQL> SELECT * FROM TEST_TIMESTAMP;

  TIME TIME TIME 月 下午 月 下午 月 下午 + :

   月 下午 月 下午 月 下午 + :

   月 上午 月 下午 月 上午 :

   月 上午 月 下午 月 上午 :

   月 上午 月 下午 月 上午 + :

   月 下午 月 上午 月 下午 :

   月 上午 月 上午 月 上午 + :

  已选择 行

  SQL> SELECT DUMP(TIME ) DUMP(TIME ) DUMP(TIME ) FROM TEST_TIMESTAMP;

  DUMP(TIME ) DUMP(TIME ) DUMP(TIME ) Typ= Len= : b b fc c Typ= Len= : b b fc c Typ= Len= : b b fc c c c

  Typ= Len= : b c c c e Typ= Len= : b c c c e Typ= Len= : b c c c e c

  Typ= Len= : b b f a d c c Typ= Len= : b f a d c c Typ= Len= : b f a d c c f c

  Typ= Len= : b b a f Typ= Len= : b b a f Typ= Len= : b b a f c

  Typ= Len= : c f d Typ= Len= : b f d Typ= Len= : b f d c

  Typ= Len= : b f cb bb c Typ= Len= : c e cb bb c Typ= Len= : b e cb bb c e

  Typ= Len= : c b b Typ= Len= : c f b b Typ= Len= : b f b b d a

  SQL> SELECT TO_NUMBER( C XXX ) TO_NUMBER( C XXX ) FROM DUAL;

  TO_NUMBER( C XXX ) TO_NUMBER( C XXX )

  SQL> SELECT TO_NUMBER( XXX ) TO_NUMBER( C XXX ) TO_NUMBER( C XXXXXXX ) FROM DUAL;

  TO_NUMBER( XXX ) TO_NUMBER( C XXX )

  SQL> SELECT TO_NUMBER( C XXX ) TO_NUMBER( E XXX ) TO_NUMBER( A XXX ) FROM DUAL;

  TO_NUMBER( C XXX ) TO_NUMBER( E XXX ) TO_NUMBER( A XXX )

  可以看出 修改时区会导致系统TIMESTAMP时间发生变化 但是对于TIMESTAMP WITH LOCAL TIME ZONE类型 总是将系统的时间转化到数据库服务器上时区的时间进行存储

  TIMESTAMP WITH TIME ZONE保存的是当前时间转化到 时区的对应的时间 并通过最后两位来保存时区信息

  第一位表示时区的小时部分 时区用 x 表示 东n区在这个基础上加n 西n区在这个基础上减n 我们所处的东 区表示为 x C 西 区表示为 xF

cha138/Article/program/Oracle/201311/18690

相关参考

知识大全 Oracle基本数据类型存储格式浅析(一)-字符类型

Oracle基本数据类型存储格式浅析(一)-字符类型  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

知识大全 Oracle数据类型及存储方式

Oracle数据类型及存储方式  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  概述  通过实例全

知识大全 oracle 外部表导入时间日期类型数据

  建立外部表目录  createdirectoryextdirase:appextdir;  定义外部表  createtableext_test  (  rtdate  rtypechar()  

知识大全 ASP.NET数据类型转换浅析

ASP.NET数据类型转换浅析  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  ASPNET数据类

知识大全 Oracle中的格式掩码、货币和日期格式

Oracle中的格式掩码、货币和日期格式  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  toch

知识大全 Oracle复合数据类型(4)

Oracle复合数据类型(4)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  使用集合    象

知识大全 Oracle数据库入门之函数/类型

Oracle数据库入门之函数/类型  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Oracle主

知识大全 Oracle数据库游标的类型

Oracle数据库游标的类型  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  游标是SQL的一个内

知识大全 mysql数据库find

  举个例子来说  有个文章表里面有个type字段他存储的是文章类型有头条推荐热点图文……等等  现在有篇文章他既是头条又是热点还是图文  type中以的格式存储  们我们如何用sql查找所有type

知识大全 ORACLE大数据类型的操作之一CLOB

ORACLE大数据类型的操作之一CLOB  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  大家在应