TIMESTAMP資料的格式化顯示和DATE 資料一樣。注意,to_char函數支援date和timestamp,但是trunc 卻不支援TIMESTAMP資料類型。這已經清楚表明了在當兩個時間的差別極度重要的情況下,使用TIMESTAMP 資料類型要比DATE資料類型更確切。
如果你想顯示TIMESTAMP的小數秒資訊,參考下面:
1 SELECT TO_CHAR(time1,'MM/DD/YYYY HH24:MI:SS:FF3') "Date" FROM date_table
Date
-----------------------
06/20/2003 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函數摘取出數位事情了。