2014-02-18 38 views
0

嗨当​​我使用此查询它给了我2列,每一行都会有一个请求和一个响应。我如何在几秒钟内获取这两者之间的时间差。如何找到列中的2行之间的时间差

select M.MSG_DESC, M.Msg_Ts from INTLOG.ESB_MSG_L M,INTLOG.ESB_PAYLOAD_L P 
where M.MSG_ID = P.MSG_ID 
And M.Msg_Ts >= Timestamp'2014-02-16 00:00:00' 
And M.Msg_Ts <= Timestamp'2014-02-17 12:00:00' 
And M.Msg_ID IN ('90808','67678','534534') 
ORDER by M.MSG_TS,p.payload_corl_id desc; 

DatabaseUtility请求内部18-FEB-14 01.00.10.569000000 PM
DatabaseUtility响应内部18-FEB-14 01.00.19.553000000 PM
DatabaseUtility请求内部18-FEB-14 01.00.29.146000000 PM
DatabaseUtility响应内部18-FEB-14 01.00.29.705000000 PM
DatabaseUtility请求内部18-FEB-14 01.00.35.278000000 PM
DatabaseUtility响应内部18-FEB-14 01.00.38.313000000 PM

+0

谷歌则DateDiff ....... –

+0

使用MySQL的'timeDiff测量()'函数http://dev.mysql.com/doc/refman/5.5/en/date-and-time- functions.html#function_timediff – Jmh2013

回答

0
select M.MSG_DESC 
    , M.Msg_Ts 
    ,TIMESTAMPDIFF(SECOND, M.MSG_DESC, M.Msg_Ts) 
from INTLOG.ESB_MSG_L M INNER JOIN INTLOG.ESB_PAYLOAD_L P 
ON M.MSG_ID = P.MSG_ID 
WHERE 
    M.Msg_Ts >= Timestamp'2014-02-16 00:00:00' 
And M.Msg_Ts <= Timestamp'2014-02-17 12:00:00' 
And M.Msg_ID IN ('90808','67678','534534') 
ORDER by M.MSG_TS,p.payload_corl_id desc; 
相关问题