輸入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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- mysql 資料型別TIMESTAMPMySQL 資料型別
- MySQL 的 timestamp 和 datetime 型別比較MySql型別
- USB入門系列(四)傳輸型別型別
- 從一次輸入框無法輸入的bug,談如何限制輸入框輸入型別型別
- [20191219]oracle timestamp資料型別的儲存.txtOracle資料型別
- Mysql日期(DATE, TIME, DATETIME, TIMESTAMP)型別的比較MySql型別
- iOS 使用正則判斷輸入型別iOS型別
- [java IO流]之 基本資料型別輸入輸出流Java資料型別
- 實現多子型別輸入法:如何在 HarmonyOS中載入不同的輸入模式型別模式
- [20241009]oracle timestamp with time zone資料型別的儲存.txtOracle資料型別
- printf 中 % 別代表的輸出型別型別
- 7-1 混合型別資料格式化輸入型別
- 演示 資料型別 陣列名[]=new 資料型別[大小],迴圈輸入5個成績,儲存到double陣列,並輸出資料型別陣列
- MySQL基礎教程---Chapter 5 資料型別和資料輸入MySqlAPT資料型別
- C語言資料型別、變數的輸入和輸出、進位制轉換C語言資料型別變數
- JavaScript資料型別及輸出JavaScript資料型別
- mysql資料庫時間型別datetime、bigint、timestamp的查詢效率比較MySql資料庫型別
- Mysql - 如何決定用 datetime、timestamp、int 哪種型別儲存時間戳?MySql型別時間戳
- C++ 使用者輸入與資料型別詳解:建立基本計算器及變數型別C++資料型別變數
- Oracle中Date和Timestamp的區別Oracle
- MySQL中datetime和timestamp的區別MySql
- int型別按位元組列印輸出型別
- el-input 限制number型別,輸入中文,游標不垂直居中問題型別
- 越來越普及的OCR “手寫”輸入不如“識別”輸入!
- 手動輸入圖片識別
- PopChar for mac(特別字元輸入工具)Mac字元
- c++ typeid().name()輸出變數型別C++變數型別
- std::cout 輸出 unsigned char型別資料型別
- mysql資料庫date 、datetime、time、timestamp區別MySql資料庫
- MySQL入門--資料型別MySql資料型別
- Android輸入系統(三)InputReader的加工型別和InputDispatcher的分發過程Android型別
- 原生前端:input標籤 number型別輸入框如何清除上下加減按鈕?前端型別
- Java入門系列-05-資料型別和型別轉換Java資料型別
- Oracle TimestampOracle
- 常見指標型別入門指標型別
- iOS資料型別簡介及NSLog列印輸出iOS資料型別
- C/C++獲取變數型別並輸出C++變數型別
- QXMySQL 中 datetime 和 timestamp 的區別與選擇lypMySql
- [Warning] TIMESTAMP with implicit DEFAULT value is deprecated.explicit_defaults_for_timestamp