ORACLE DATE和TIMESTAMP資料型別的比較(二) (轉)

amyz發表於2007-11-10
ORACLE DATE和TIMESTAMP資料型別的比較(二) (轉)[@more@]

原著作者: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/,如需轉載,請註明出處,否則將追究法律責任。

相關文章