date類型是Oracle常用的日期型變量,時間間隔是秒。兩個日期型相減得到是兩個時間的間隔,注意單位是“天”。
timestamp是DATE類型的擴展,可以精確到小數秒(fractional_seconds_precision),可以是 0to9,缺省是6。兩個timestamp相減的話,不能直接的得到天數,而是得到,多少天,多少小時,多少秒等。
舉例如下:
to_date:
1
|
select
to_date(
'2016-01-01 00:00:00'
,
'yyyy-mm-dd hh24:mi:ss'
)-sysdate
from
dual;
|
結果
to_timestamp:
1
|
select
to_timestamp(
'2016-01-01 00:00:00'
,
'yyyy-mm-dd hh24:mi:ss'
)-systimestamp
from
dual;
|
結果:
說明:
當使用date和timestamp類型的時候,選擇是很清楚的。可以隨意處置date和timestamp類型。當試圖轉換到更強大的timestamp的時候,需要注意,它們既有類似的地方,更有不同的地方,而足以造成破壞。兩者在簡潔和間隔尺寸方面各有優勢,請合理地選擇。