ORACLE DATE和TIMESTAMP數據類型的比較(二)

原著作者:James Koopmann

TIMESTAMP數據的格式化顯示和DATE 數據一樣。注意,to_char函數支持datetimestamp,但是trunc卻不支持TIMESTAMP數據類型。這已經清楚表明了在當兩個時間的差別極度重要的情況下,使用TIMESTAMP數據類型要比DATE數據類型更確切。<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

如果你想顯示TIMESTAMP的小數秒信息,參考下面:

在上例中,我只現實了小數點後3位的內容。

計算timestamp間的數據差別要比老的date數據類型更容易。當你直接相減的話,看看會發生什麼。結果將更容易理解,第一行的17天,18小時,27分鐘和43秒。

這就意味着不再需要關心一天有多少秒在麻煩的計算中。因此,得到天數、月數、天數、時數、分鐘數和秒數就成爲用substr函數摘取出數字的事情了。

系統日期和時間

爲了得到系統時間,返回成date數據類型。你可以使用sysdate函數。

SQL> SELECT SYSDATE FROM DUAL;

爲了得到系統時間,返回成timestamp數據類型。你可以使用systimpstamp函數。

SQL> SELECT SYSTIMESTAMP FROM DUAL;

你可以設置初始化參數FIXED_DATE指定sysdate函數返回一個固定值。這用在測試日期和時間敏感的代碼。注意,這個參數對於systimestamp函數無效。

當使用datetimestamp類型的時候,選擇是很清楚的。你可以隨意處置datetimestamp類型。當你試圖轉換到更強大的timestamp的時候,需要注意,它們既有類似的地方,更有不同的地方,而足以造成破壞。兩者在簡潔和間隔尺寸方面各有優勢,請合理地選擇。

 

發佈了29 篇原創文章 · 獲贊 0 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章