輸入TIMESTAMP型別
一直沒有太注意TIMESTAMP型別的用法,今天才發現一些以前不知道的用法。
如果提到TIMESTAMP類似,絕大部分人首先會想到SYSTIMESTAMP。
SQL> SELECT SYSTIMESTAMP FROM DUAL;
SYSTIMESTAMP
------------------------------------------------
07-3月 -09 12.28.47.593000 上午 +08:00
對於當前時間附近的時間,可以透過SYSTIMESTAMP進行簡單的加減法:
SQL> SELECT SYSTIMESTAMP - 5 FROM DUAL;
SYSTIMESTAMP-5
--------------
02-3月 -09
不過從結果上也可以發現,這樣得到的實際上是日期型別。
如果要結果仍然是TIMESTAMP型別,那麼就不能直接做加減法,而是要透過INTERVAL的方式:
SQL> SELECT SYSTIMESTAMP - INTERVAL '5' DAY FROM DUAL;
SYSTIMESTAMP-INTERVAL'5'DAY
--------------------------------------------------------------
02-3月 -09 12.32.25.890000000 上午 +08:00
除了這種方法外,另一種常用的方法就是利用TO_TIMESTAMP進行轉換:
SQL> SELECT TO_TIMESTAMP('2009-1-15 22:12:23.238292348', 'YYYY-MM-DD HH24:MI:SS.FF') FROM DUAL;
TO_TIMESTAMP('2009-1-1522:12:23.238292348','YYYY-MM-DDHH24:MI:SS.FF')
---------------------------------------------------------------------------
15-1月 -09 10.12.23.238292348 下午
其實除了這兩種方法外,還有一種直接指定TIMESTAMP型別的方法。如果使用過AS OF語句,那麼就會對這種方法有所瞭解:
SQL> SELECT TIMESTAMP '2009-1-15 22:12:23.238292348' FROM DUAL;
TIMESTAMP'2009-1-1522:12:23.238292348'
----------------------------------------------------------------------
15-1月 -09 10.12.23.238292348 下午
使用這種方法還可以指定TIMESTAMP的時區:
SQL> SELECT TIMESTAMP '2009-1-15 22:12:23.238' AT TIME ZONE 'GMT'
2 FROM DUAL;
TIMESTAMP'2009-1-1522:12:23.238'ATTIMEZONE'GMT'
----------------------------------------------------------------------
15-1月 -09 02.12.23.238000000 下午 GMT
SQL> SELECT TIMESTAMP '2009-1-15 22:12:23.238' AT TIME ZONE '+08:00'
2 FROM DUAL;
TIMESTAMP'2009-1-1522:12:23.238'ATTIMEZONE'+08:00'
----------------------------------------------------------------------
15-1月 -09 10.12.23.238000000 下午 +08:00
當然使用TO_TIMESTAMP_TZ也可以得到包含時區資訊的TIMESTAMP:
SQL> SELECT TO_TIMESTAMP_TZ(
2 '2009-1-15 22:12:23.238 +08:00',
3 'YYYY-MM-DD HH24:MI:SS.FF TZH:TZM')
4 FROM DUAL;
TO_TIMESTAMP_TZ('2009-1-1522:12:23.238+08:00','YYYY-MM-DDHH24:MI:SS.FFTZH:T
---------------------------------------------------------------------------
15-1月 -09 10.12.23.238000000 下午 +08:00
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4227/viewspace-563149/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Timestamp型別淺析型別
- Sybase的timestamp型別型別
- 將timestamp型別轉換為date型別型別
- EditText輸入金額型別型別
- mysql 資料型別TIMESTAMPMySQL 資料型別
- date、timestamp欄位型別型別
- oracle的timestamp型別使用Oracle型別
- TIMESTAMP型別的時區型別
- Sqlserver:timestamp資料型別SQLServer資料型別
- Oracle中的TIMESTAMP型別Oracle型別
- ORACLE TIMESTAMP資料型別Oracle資料型別
- timestamp資料型別求差資料型別
- timestamp with local time zone型別和timestamp with time zone型別
- ORACLE DATE型別和TIMESTAMP型別DUMP換算Oracle型別
- android指定輸入法型別Android型別
- 輸入NVARCHRA2型別字串型別字串
- 關於timestamp資料型別資料型別
- Oracle中的TIMESTAMP資料型別Oracle資料型別
- timestamp型別的加減運算型別
- 從一次輸入框無法輸入的bug,談如何限制輸入框輸入型別型別
- iOS 使用正則判斷輸入型別iOS型別
- Toad 與 timestamp 型別的問題?型別
- [java IO流]之 基本資料型別輸入輸出流Java資料型別
- oracle中date資料型別與timestamp資料型別的轉換Oracle資料型別
- (轉)PLS_INTEGER型別與timestamp型別、date、及時間函式型別函式
- oracle將表中date資料型別修改為timestamp資料型別Oracle資料型別
- MySQL 的 timestamp 和 datetime 型別比較MySql型別
- date和timestamp型別之間的轉換型別
- C#插入Oracle中Timestamp型別資料C#Oracle型別
- Sybase datetime型別對映為Oracle timestamp型別Oracle
- 郵箱輸入實現型別自動提示功能型別
- oracle timestamp轉換date及date型別相減Oracle型別
- oracle資料型別date和timestamp的轉化Oracle資料型別
- 關於cin能識別輸入的資料型別(過載操作符&型別轉換)資料型別
- Mysql日期(DATE, TIME, DATETIME, TIMESTAMP)型別的比較MySql型別
- MySQL資料庫中的timestamp型別與時區MySql資料庫型別
- 將TIMESTAMP型別的差值轉化為秒的方法型別
- printf 中 % 別代表的輸出型別型別