最近碰到的问题:
记录系统从请求到响应时间并统计,需要使用到毫秒精度,存在oracle数据库格式
如:2022-07-26 15:16:18.123 是字符类型 记作 t1, t2
一般格式化为timestamp类型,to_timestamp(t1, 'YYYY-MM-DD hh24:mi:ss.ff'),
可以使用以下方式取时间差值,适合时间差值通常为毫秒级,trunc函数是不支持timestamp的,这里单位是为秒,结果格式为 00.000 秒
substr(to_char(to_timestamp(t1, 'YYYY-MM-DD hh24:mi:ss.ff') - to_timestamp(t2, 'YYYY-MM-DD hh24:mi:ss.ff'), 'YYYY-MM-DD hh24:mi:ss.ff'),18,6) as 响应时间
注意,此方式意在统计响应时间数据,数据只求相对准确,这里也只是取个巧。