Oracle数据库全球化(3)

Oracle默认使用二进制排序,要排序的字符串从左到右读取,并且每个字符都被简化为他的ASCII数字。这种排序方法适用于美国英语,对于其他语言,则有可能不正确。

2.2 Locale Builder

Locale Builder是个图形化的工具,他能通过为语言、地区、字符集以及语言排序生成定义来创建自定义的全球化环境。

2.3 使用时区

为了实现业务必须在多个时区之间正常运转的功能,需要指定数据库所运作的时区以及使用TIMESTAMP WITH TIME ZONE与TIMESTAMP WITH LOCAL TIME ZONE数据类型。
实验:调整时区

--1.sqlplus连接到实例 --2.确定数据库时区 select property_value from database_properties where property_name='DBTIMEZONE'; PROPERTY_VALUE ------------------------------------------------------------------------------------------------------------------------ 00:00 --3.创建表 create table times (date_std date, date_tz timestamp with time zone, date_ltz timestamp with local time zone); --4.查看支持的所有时区: select * from v$timezone_names; --5.将会话时区调整为某个不同于数据库时区的时区 --将会话时区设定为美国夏威夷: alter session set time_zone='US/Hawaii'; --6.调整会话的时区/时间格式 alter session set nls_timestamp_tz_format='YYYY-MM-DD HH24:MI:SS TZD'; alter session set nls_timestamp_format='YYYY-MM-DD HH24:MI:SS'; alter session set nls_date_format='YYYY-MM-DD HH24:MI:SS'; --7.表中插入一条记录 insert into times values('2016-02-03 15:00:00','2016-02-03 15:00:00','2016-02-03 15:00:00'); commit; --8.查看时间 select * from times; SQL> select * from times; DATE_STD DATE_TZ DATE_LTZ ------------------- -------------------------------------------------- --------------------------------------------------------------------------- 2016-02-03 15:00:00 2016-02-03 15:00:00 HST 2016-02-03 15:00:00 --9.会话切换至数据库时区: alter session set time_zone=DBTIMEZONE; --10.再次查看时间,发现timestamp with local time zone数据类型对应的时间自动调整了 select * from times; SQL> select * from times; DATE_STD DATE_TZ DATE_LTZ ------------------- -------------------------------------------------- --------------------------------------------------------------------------- 2016-02-03 15:00:00 2016-02-03 15:00:00 HST 2016-02-04 01:00:00

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/4a4d1cc6748e0d775daa605e49dd9435.html