oracle 時間問題

今天用到oracle時間比較,看到網上也有不少,本身就總結了下啊、web

 1,比較兩個時間的大小(也能夠是字符串表示時間)oracle

   select * from table where to_date(字段1,'yyyy-mm-dd hh24:mi:ss')>=to_date('2012-2-8','yyyy-mm-dd hh24:mi:ss')spa

2,比較當前時間與指定時間相差分鐘數:orm

select sysdate,
sysdate - to_date('2007-04-03 13:45:39','yyyy-mm-dd hh24:mi:ss')
from dual

輸出結果:2007-4-4 AM 10:45:56    0.875196759259259
ci

select sysdate,to_date('2009-2-20 17:45:39','yyyy-mm-dd hh24:mi:ss'),
ROUND(TO_NUMBER(sysdate - to_date('2009-2-20 17:45:39','yyyy-mm-dd hh24:mi:ss')) * 24 * 60)
from dual;
輸出結果:2009-2-20 17:36:14    2009-2-20 17:45:39       -9
字符串

3,同理,可比較相差天數、小時數、秒數等,只需根據須要替換下面的參數:it

兩個Date類型字段: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)
table

相關文章
相關標籤/搜索