TIMESTAMP WITH LOCAL TIME ZONE类型:

Oracle语法:

TIMESTAMP [(fractional_seconds_precisions)] WITH LOCAL TIME ZONE

fractional_seconds_precisions的用法与TIMESTAMP数据类型一致, 该数据类型在TIMESTAMP WITH TIME ZONE的基础上又有进一步. 在用户提交时间给数据库时, 该类型会转换成数据的时区来保存数据, 即在数据库中保存的时间是数据库本地的时区. 当别的地方用户访问数据库时在显示该类型数据时Oracle会将该时区转换成客户端的时间来显示. 在数据库中保存占7到11字节, 具体看你定义的fractional seconds的精度.

eg:

SQL> create table tml(a timestamp(9) with local time zone)

Table created.

SQL> desc tml;

Name                                      Null?    Type

----------------------------------------- -------- ----------------------------

A                                                  TIMESTAMP(9) WITH LOCAL TIME

ZONE

SQL> insert into tml values(TO_TIMESTAMP_TZ('2006-12-01 23:12:56.788 -12:44', 'YYYY-MM-DD HH24:MI:SS.FF TZH:TZM'));

1 row created.

SQL> select * from tml;

A

---------------------------------------------------------------------------

02-DEC-06 07.56.56.788000000 PM

-- 可以看到该时间已经发生改变了, 已经进行时区转换了.

SQL> select to_char(a, 'YYYY-MM-DD HH24:MI:SS.FF') from tml;

TO_CHAR(A,'YYYY-MM-DDHH24:MI:

-----------------------------

2006-12-02 19:56:56.788000000

-- 我们同时可以查看上次建立的TIMESTAMP WITH TIME ZONE类型在显示的时候没有进行时区转换工作.

SQL> select * from ff;

A

---------------------------------------------------------------------------

14-DEC-06 07.45.09.90030000 PM -12:00

14-DEC-06 07.45.09.90030000 PM -12:00

14-DEC-06 07.45.09.90030000 PM +13:00

阅读(5888) | 评论(1) | 转发(0) |

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐