--計算各個商戶每一筆出款距離其上一筆入款的時間間隔(分鐘)
with tablea as (
select 1 id,date'2018-1-1'+1 dt,'0' off from dual union all --0代表入賬 1 代表出賬
select 1 id,date'2018-1-1'+0.5 dt,'0' off from dual union all
select 1 id,date'2018-1-1'+0.75 dt,'0' off from dual union all
select 1 id,date'2018-1-1' dt,'0' off from dual)
,tableb as (
select 1 id,date'2018-1-1'+0.85 dt,'1' off from dual union all
select 1 id,date'2018-1-1'+0.55 dt,'1' off from dual union all
select 1 id,date'2018-1-1'+0.15 dt,'1' off from dual
)select /*+ use_nl(a2,a1)*/
a2.id
,a1.dt_start_date --上一次入賬時間
-a2.dt --出賬時間
from (select t.id,t.dt dt_start_date ,nvl(lead(dt) over(partition by t.id order by t.dt),sysdate+30) dt_end_date
from tablea t) a1 --入賬部分資料
,tableb a2 --出賬部分資料
where a1.id = a2.id
and a2.dt>= a1.dt_start_date
and a2.dt < a1.dt_end_date
如何精確計算出乙個演算法的CPU執行時間
在程式中嵌入彙編語句,直接讀出cpu的機器週期。你需要多精確?gettickcount可以到18 20ms進度 timegettime可以到1ms精度 當然這些都不是c or c 標準支援的。那麼就要祭出最牛奔的方法,直接讀取cpu開機以來執行的機器週期數,一條彙編指令 rdtsc 就是 read ...
java計算兩個時間的時間差
如果得到的時間格式是string型 資料庫儲存為varchar 的是日期時間,我們首先要講日期由string型轉為date型,如果得到的時間格式為date型別不用轉。string time1 2017 01 01 01 01 01 string time2 2017 02 02 02 02 02 d...
js 計算兩個時間的時間差
gettime 方法 方法定義 gettime 方法可返回距 1970 年 1 月 1 日之間的毫秒數。通常我們計算時間差都是通過獲取兩個時間資料,然後分別使用gettime 方法返回與固定的1970 年 1 月 1 日的時間差,通過對返回毫秒數的差,換算成時間單位,得出兩個時間的時間差。首先你會有...