今天用到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.875196759259259ci
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