sql 時間相減 得到 毫秒 秒 分鐘 小時 天等

2021-07-25 13:35:32 字數 976 閱讀 6856

想起幾個月之前接到乙個需求,要統計伺服器對每個請求的大致處理時間。幸好對每個請求都記了日誌到資料庫。因此寫了乙個時間相減的sql。

select t1.id id,

t1.requrl requseturl,

t1.requesttime requesttime,

t1.responsetime responsetime,

extract(day

from t1.intv) * 24 * 60 * 60 * 1000 +

extract(hour

from t1.intv) * 60 * 60 * 1000 +

extract(minute

from t1.intv) * 60 * 1000 +

extract(second

from t1.intv) * 1000 opertime

from (select t.resp_time - t.reqs_time as intv,

t.id id,

t.reqs_url requrl,

t.reqs_time requesttime,

t.resp_time responsetime

from t_log t

where t.resp_time is

notnull) t1

order

by opertime desc

得到結果如圖:

上圖中,資料庫是oralce, t_log 的兩個時間字段,reqs_time(請求時間),resp_time(響應時間) 的字段型別都是 timestamp。 opertime 就是兩個時間相減得到的值(毫秒),差值有點兒大(測試環境資料,請忽略,哈哈)。毫秒值都得到了,那秒、分鐘、小時等肯定也能得到了。

oracle中兩個時間戳相減得到間隔毫秒數

主要思想 將時間戳轉化為字串,截取出前邊的年 月 日 時 分 秒部分轉化為date型別相減,這樣可以得到兩個時間相差的天數,然後轉化為毫秒num1 擷取毫秒數部分轉化為數字相減,得到num2,然後num1 num2即為兩個時間戳的相差毫秒數。select to date substr lendtim...

C 兩個日期相減得到天數

兩個日期相減,所得結果是乙個 時間間隔 timespan,timespan型別的乙個屬性days可以表示此時間間隔對應的天數。datetime dt1 datetime.now datetime dt2 datetime.parse 2019 3 6 14 20 45 timespan ts dt1...

時間相減得到天數 連續登陸人數天數問題

有時候我們會碰到連續登入人數計算的問題,比如想要求下面這兩個問題的結果,該怎麼求?最近連續登陸天數 任意時間段內連續登陸天數 最近連續登陸超過x天的人數 原始資料給你 name表示使用者,date表示登陸的日期 最近連續登陸天數計算實現方式 select name,count 1 as 使用者最近連...