ORACLE DATE和TIMESTAMP資料型別的比較(二) (轉)
原著作者:James Kmann
TIMESTAMP資料的格式化顯示和DATE 資料一樣。注意,to_char支援date和timestamp,但是trunc卻不支援TIMESTAMP資料型別。這已經清楚表明了在當兩個時間的差別極度重要的情況下,使用TIMESTAMP資料型別要比DATE資料型別更確切。:namespace prefix = o ns = "urn:schemas--com::office" />
如果你想顯示TIMESTAMP的小數秒資訊,參考下面:
1 TO_CHAR(time1,'MM/DD/YYYY HH24:MI:SS:FF3') "Date" FROM date_table
Date
-----------------------
06/20/ 16:55:14:000
06/26/2003 11:16:36:000
在上例中,我只現實了小數點後3位的內容。
計算timestamp間的資料差別要比老的date資料型別更容易。當你直接相減的話,看看會發生什麼。結果將更容易理解,第一行的17天,18小時,27分鐘和43秒。
1 SELECT time1,
2 time2,
3 substr((time2-time1),instr((time2-time1),' ')+7,2) seconds,
4 substr((time2-time1),instr((time2-time1),' ')+4,2) minutes,
5 substr((time2-time1),instr((time2-time1),' ')+1,2) hours,
6 trunc(to_number(substr((time2-time1),1,instr(time2-time1,' ')))) days,
7 trunc(to_number(substr((time2-time1),1,instr(time2-time1,' ')))/7) weeks
8* FROM date_table
TIME1 TIME2 SECONDS MINUTES HOURS DAYS WEEKS
------------------------- -------------------------- ------- ------- ----- ---- -----
06/20/2003:16:55:14:000000 07/08/2003:11:22:57:000000 43 27 18 17 2
06/26/2003:11:16:36:000000 07/08/2003:11:22:57:000000 21 06 00 12 1
這就意味著不再需要關心一天有多少秒在麻煩的計算中。因此,得到天數、月數、天數、時數、分鐘數和秒數就成為用substr函式摘取出數字的事情了。
日期和時間
為了得到系統時間,返回成date資料型別。你可以使用sysdate函式。
> SELECT SYSDATE FROM DUAL;
為了得到系統時間,返回成timestamp資料型別。你可以使用systimpstamp函式。
SQL> SELECT SYSTIMESTAMP FROM DUAL;
你可以設定初始化引數FIXED_DATE指定sysdate函式返回一個固定值。這用在測試日期和時間敏感的程式碼。注意,這個引數對於systimestamp函式無效。
SQL> ALTER SYSTEM SET fixed_date = '2003-01-01-10:00:00';
System altered.
SQL> select sysdate from dual;
SYSDATE
---------
01-JAN-03
SQL> select systimestamp from dual;
SYSTIMESTAMP
---------------------------------------------------------
09-JUL-03 11.05.02.519000 AM -06:00
當使用date和timestamp型別的時候,選擇是很清楚的。你可以隨意處置date和timestamp型別。當你試圖轉換到更強大的timestamp的時候,需要注意,它們既有類似的地方,更有不同的地方,而足以造成破壞。兩者在簡潔和間隔尺寸方面各有優勢,請合理地選擇。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752019/viewspace-981603/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ORACLE DATE和TIMESTAMP資料型別的比較(一) (轉)Oracle資料型別
- oracle資料型別date和timestamp的轉化Oracle資料型別
- Oracle date 型別比較和String比較Oracle型別
- oracle中date資料型別與timestamp資料型別的轉換Oracle資料型別
- Mysql日期(DATE, TIME, DATETIME, TIMESTAMP)型別的比較MySql型別
- oracle timestamp轉換date及date型別相減Oracle型別
- ORACLE DATE型別和TIMESTAMP型別DUMP換算Oracle型別
- oracle將表中date資料型別修改為timestamp資料型別Oracle資料型別
- date和timestamp型別之間的轉換型別
- MySQL 的 timestamp 和 datetime 型別比較MySql型別
- 將timestamp型別轉換為date型別型別
- Oracle中Date和Timestamp的區別Oracle
- ORACLE TIMESTAMP資料型別Oracle資料型別
- Oracle三種集合資料型別的比較Oracle資料型別
- Oracle中的TIMESTAMP資料型別Oracle資料型別
- date、timestamp欄位型別型別
- Oracle的 資料型別比較及注意事項Oracle資料型別
- Oracle timestamp型別轉換date格式指令碼(精確到秒)Oracle型別指令碼
- XML Schema和XML DTD的資料型別比較XML資料型別
- (轉)PLS_INTEGER型別與timestamp型別、date、及時間函式型別函式
- mysql資料庫時間型別datetime、bigint、timestamp的查詢效率比較MySql資料庫型別
- MySQL TEXT、DATE、SET 資料型別(轉)MySql資料型別
- 【開發篇sql】 條件和表示式(二) 資料型別的比較規則SQL資料型別
- C#插入Oracle中Timestamp型別資料C#Oracle型別
- mysql 資料型別TIMESTAMPMySQL 資料型別
- Sqlserver:timestamp資料型別SQLServer資料型別
- timestamp資料型別求差資料型別
- PHP基礎-資料型別-string和int比較PHP資料型別
- 關於Oracle字元型別的比較Oracle字元型別
- oracle的timestamp型別使用Oracle型別
- Oracle中的TIMESTAMP型別Oracle型別
- ORACLE的資料型別(轉)Oracle資料型別
- mysql資料庫date 、datetime、time、timestamp區別MySql資料庫
- 關於timestamp資料型別資料型別
- 《卸甲筆記》-PostgreSQL和Oracle的資料型別的對比系列四:大資料型別筆記SQLOracle資料型別大資料
- Mysql中的Datetime和Timestamp比較MySql
- 字串和Date型別之間的轉換字串型別
- 【轉】ORACLE資料型別Oracle資料型別