date和timestamp 的區別


date和timestamp 的區別
date類型是Oracle常用的日期型變量,它的時間間隔是秒。兩個日期型相減得到是兩個時間的間隔,注意單位是“天”。例如:查看一下當前距離某個日期還有多長時間:

select to_date('2012-7-28 03:12:00','yyyy-mm-dd hh24:mi:ss')-sysdate from dual
結果是:92.2472685185185天,然后你根據相應的時間換算你想要的間隔就行!這個結果可能對程序員有用,對於想直接看到結果的人,這個數字還不是很直觀,所以,就引出了timestamp類型

timestamp是DATE類型的擴展,可以精確到小數秒(fractional_seconds_precision),可以是0 to9,缺省是6。兩個timestamp相減的話,不能直接的得到天數,而是得到,
多少天,多少小時,多少秒等,例如:同樣查看一下當前距離倫敦奧運會開幕還有多長時間.

select to_timestamp('2012-7-28 03:12:00','yyyy-mm-dd hh24:mi:ss')-systimestamp from dual
結果是:+000000092 05:51:24.032000000,稍加截取,就可以得到92天5小時,51分鍾,24秒,這樣用戶看起來比較直觀一些!但是這個數字對程序員來說不是很直觀了,如果想要具體的時間長度的話,並且精度不要求到毫秒的話,可以將timestamp類型轉成date類型,然后直接相減即可。

date和timestamp之間的相互轉換

可以通過
to_char來轉換timestamp——>date:

select to_date(to_char(systimestamp,'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss') from dual
date ——>timestamp:

select to_timestamp(to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss') from dual

 ————歡迎大家溝通、指正---- QQ群:1071136320————


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM