Oracle時間比較和2個相關函式

2021-08-25 23:38:59 字數 1321 閱讀 7710

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

select sysdate,

sysdate - to_date('2011-07-07 12:07:33','yyyy-mm-dd hh24:mi:ss')

from dual

輸出結果:2011-07-07 12:50:05 0.029537037037037

select sysdate,to_date('2011-07-07 12:07:33','yyyy-mm-dd hh24:mi:ss'),

round(to_number(sysdate - to_date('2011-07-07 12:07:33','yyyy-mm-dd hh24:mi:ss')) * 24 * 60)

from dual;

輸出結果:2011-07-07 12:50:43 2011-07-07 12:07:33 44

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

兩個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)

3、如果想拿系統時間和和輸入時間比較如下

select sysdate,to_date(to_char(sysdate,'yyyy-mm-dd hh24:mm:ss'),'yyyy-mm-dd hh24:mi:ss'),

to_number(sysdate - to_date(to_char(sysdate,'yyyy-mm-dd hh24:mm:ss'),'yyyy-mm-dd hh24:mi:ss')) * 24

from dual;

這裡一定要先吧系統時間轉成字元(to_char)在能用to_date函式

4、如果是1小時到24小時之內就如下:

select create_date between (sysdate-1) and (sysdate-1/24) from table

5、算1小時之內的:

select create_date >= (sysdate-1/24) from table

Oracle字元和時間比較

資料庫中的字段 2017 07 11 13 37 51 型別是char 或者varchar 要進件與 20170625 比較,格式不一致,需要將他轉換成 yyyymmdd 字串 1 先to dateto date create date,yyyy mm dd,hh24 mi ss 格式一定要與cre...

oracle日期時間比較

select cicai as merchantname,tre.bank code as bankcode,sum tr.trade sum as totalmount,count as count,tr.biz type as biztype from trade relation tre,tr...

SQL時間相關 SQL日期,時間比較

sql server 中時間比較 例子 select count from table where datediff second 2004 09 18 00 00 18 2004 09 18 00 00 19 0 說明select datediff day,time1 time2 對應示例語句如下...