網頁

2013年1月9日 星期三

Oracle 計算時間差

突然來了個要計算每筆交易的時間,試著用Oracle提供的函式來解決,將最後的結果做個記錄。

計算兩日期的時間差:START_DATE, END_DATE
天:ROUND(TO_NUMBER(END_DATE - START_DATE))
小時:ROUND(TO_NUMBER(END_DATE - START_DATE) *24)
分:ROUND(TO_NUMBER(END_DATE - START_DATE) *24*60)
秒:ROUND(TO_NUMBER(END_DATE - START_DATE) *24*60*60)
毫秒:ROUND(TO_NUMBER(END_DATE - START_DATE) *24*60*60*1000)

上述的START_DATE, END_DATE為日期形態,如果遇到日期都用字串形態存入資料庫時,需在用TO_DATE轉換
TO_DATE(START_DATE, 'YYYYMMDDHH24MISS')
YYYYMMDDHH24MISS 這格式需帶入符合您的日期格式

沒有留言:

張貼留言