當前位置:首頁 » 操作系統 » oracle資料庫日期格式

oracle資料庫日期格式

發布時間: 2023-07-23 09:00:51

㈠ Oracle基本數據類型存儲格式淺析—日期類型(3)

對於公元前的日期 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

lishixin/Article/program/Oracle/201311/18690

熱點內容
微商城系統源碼 發布:2025-03-15 13:31:32 瀏覽:591
什麼是平演算法 發布:2025-03-15 13:18:36 瀏覽:839
seleniumpython教程 發布:2025-03-15 13:11:19 瀏覽:623
c語言對前端 發布:2025-03-15 13:04:01 瀏覽:779
解壓粉磚 發布:2025-03-15 12:54:38 瀏覽:223
qq的賬號密碼到底是什麼 發布:2025-03-15 12:45:48 瀏覽:764
c語言讀取wav 發布:2025-03-15 12:45:44 瀏覽:559
iphone限制密碼忘了怎麼辦 發布:2025-03-15 12:40:53 瀏覽:819
如何取消信用卡密碼鎖 發布:2025-03-15 12:33:34 瀏覽:908
加密文件庫 發布:2025-03-15 12:31:44 瀏覽:567