timestamp with local time zone型別和timestamp with time zone
timestamp with local time zone型別和timestamp with time zone
timestamp with loca time zone型別語法
tmestamp[(fractional_seconds_precisions)] with local zone
timestamp with local time zone 和timesatamp with time zone的最大區別就是,前者在使用者提交時間給資料庫的時,該型別會轉換成資料庫的時區來儲存資料,即資料庫儲存的時間是資料庫本地時區,當別的使用者訪問資料庫時oracle會自動將該時間轉換成當前客戶端的時間。
例子:
1、建立表
CREATE TABLE TIMESTAMP_TEST(
TIME DATE,
TIMESTP
TIMESTAMP(3),
TIMESTP_TZ TIMESTAMP(3) WITH TIME ZONE,
TIMESTP_LTZ
TIMESTAMP(3) WITH LOCAL TIME ZONE)
2、新增資料
INSERT INTO TIMESTAMP_TEST VALUES(SYSDATE,SYSDATE,SYSDATE,SYSDATE);
commit;
3、查詢dbtimezone和sessiontimezone的值
select dbtimezone ,sessiontimezone from dual;
DBTIME
------
SESSIONTIMEZONE
---------------------------------------------------------------------------
+00:00
+08:00
4、檢視資料的值
SQL> SELECT * FROM TIMESTAMP_TEST;
TIME
--------------
TIMESTP
--------------------------------------------------------------
TIMESTP_TZ
--------------------------------------------------------------
TIMESTP_LTZ
--------------------------------------------------------------
02-6月
-10
02-6月 -10 11.21.10.000 上午
02-6月 -10 11.21.10.000 上午 +08:00
02-6月
-10 11.21.10.000 上午
5、修改會話的time_zone值
alter session set time_zone='+10:00';
6、檢視結果
SQL> SELECT * FROM TIMESTAMP_TEST;
TIME
--------------
TIMESTP
-----------------------------------------------------
TIMESTP_TZ
-----------------------------------------------------
TIMESTP_LTZ
-----------------------------------------------------
02-6月
-10
02-6月 -10 11.21.10.000 上午
02-6月 -10 11.21.10.000 上午 +08:00
02-6月 -10 01.21.10.000 下午
7、從上面的實驗可以看出二者的去區別,當session的時區由8變為10是,時間增加兩個小時
再向表中新增一條記錄
insert into TIMESTAMP_TEST values(
TO_TIMESTAMP_TZ('2010-12-01 23:12:56.788 -12:44', 'YYYY-MM-DD HH24:MI:SS.FF TZH:TZM'),
TO_TIMESTAMP_TZ('2010-12-01 23:12:56.788-12:44', 'YYYY-MM-DD HH24:MI:SS.FF TZH:TZM'),
TO_TIMESTAMP_TZ('2010-12-01 23:12:56.788 -12:44', 'YYYY-MM-DD HH24:MI:SS.FF TZH:TZM'),
TO_TIMESTAMP_TZ('2010-12-0123:12:56.788 -12:44', 'YYYY-MM-DD HH24:MI:SS.FF TZH:TZM'));
(tzh:時區中的小時,tzm:時區中的分)
在這裡我指定了資料新增時的時區為-12:44,查詢結果為
TIME
--------------
TIMESTP
---------------------------------------------------------------------------
TIMESTP_TZ
---------------------------------------------------------------------------
TIMESTP_LTZ
---------------------------------------------------------------------------
01-12月-10
01-12月-10
11.12.56.788 下午
01-12月-10 11.12.56.788 下午
-12:44
02-12月-10 09.56.56.788 下午
TIME
--------------
TIMESTP
---------------------------------------------------------------------------
TIMESTP_TZ
---------------------------------------------------------------------------
TIMESTP_LTZ
---------------------------------------------------------------------------
02-6月
-10
02-6月 -10 11.21.10.000 上午
02-6月 -10 11.21.10.000 上午 +08:00
02-6月
-10 01.21.10.000 下午
由於當前使用者的時區是+10:00,新增資料時的指定時區死-12:44,二者時間相差22小時44分
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7728585/viewspace-715440/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 6、TIMESTAMP WITH TIME ZONE和TIMESTAMP WITH LOCAL TIME ZONE的實踐理解
- TIMESTAMP和TIMESTAMP WITH TIME ZONE之間的總結
- oracle之time zone時區timestamp with time zone相關的概念之一Oracle
- oracle plsql定義date_timestamp_with time zoneOracleSQL
- ORA-39322: Cannot use transportable tablespace with timestamp with timezone...
- 輸入TIMESTAMP型別型別
- Timestamp型別淺析型別
- Sybase的timestamp型別型別
- MySQL 的 timestamp 和 datetime 型別比較MySql型別
- mysql 資料型別TIMESTAMPMySQL 資料型別
- date、timestamp欄位型別型別
- oracle的timestamp型別使用Oracle型別
- TIMESTAMP型別的時區型別
- Sqlserver:timestamp資料型別SQLServer資料型別
- Oracle中的TIMESTAMP型別Oracle型別
- ORACLE TIMESTAMP資料型別Oracle資料型別
- timestamp資料型別求差資料型別
- MySQL 5.6 timestamp和datetime區別MySql
- mysql CURRENT_TIMESTAMP 和ON UPDATE CURRENT_TIMESTAMPMySql
- [每日一題] OCP1z0-047 :2013-08-26 TIMESTAMP WITH LOCAL TIME ZONE....................112每日一題
- ORACLE DATE型別和TIMESTAMP型別DUMP換算Oracle型別
- 關於timestamp資料型別資料型別
- Sybase datetime型別對映為Oracle timestamp型別Oracle
- Mysql日期(DATE, TIME, DATETIME, TIMESTAMP)型別的比較MySql型別
- Oracle timestamp_to_scn and scn_to_timestampOracle
- date和timestamp型別之間的轉換型別
- 將timestamp型別轉換為date型別型別
- Oracle中的TIMESTAMP資料型別Oracle資料型別
- timestamp型別的加減運算型別
- Oracle TimestampOracle
- MySQL案例之Timestamp和DatetimeMySql
- [Warning] TIMESTAMP with implicit DEFAULT --explicit_defaults_for_timestamp
- oracle資料型別date和timestamp的轉化Oracle資料型別
- Toad 與 timestamp 型別的問題?型別
- MySQL: datetime vs timestampMySql
- Oracle中Date和Timestamp的區別Oracle
- mysql資料庫date 、datetime、time、timestamp區別MySql資料庫
- partitioned by timestamp datatype