sql_audit表里面的request_time转换时间问题

有没有什么优雅的方式转换呢?
我现在用1970+request/1000/1000/60/24感觉不够优雅,有点累赘

1 个赞

为什么不用函数?转换一下查询出来不就更加明了吗

2 个赞

请教一下具体用什么函数?

1 个赞

mysql 租户下用 usec_to_timestamp(request_time)
oracle 租户下要自定义函数了
to_timestamp('1970-01-01 08:00:00.000','yyyy-mm-dd hh24:mi:ss:ff3') + NUMTODSINTERVAL( request_time/1000000, 'SECOND') req_time

3 个赞

为什么除1000

1 个赞

除以两次1000得到秒

1 个赞

很实用 :+1:

2 个赞

如果想查询某个时间范围的sql,to_timestamp(‘1970-01-01 08:00:00.000’,‘yyyy-mm-dd hh24:mi:ss:ff3’) + NUMTODSINTERVAL( request_time/1000000, ‘SECOND’) 转换之后改怎么写between … and …

1 个赞

外面再套一层查询,在外层对 时间类型 用 between … and … 。

oracle 里没有什么好办法将 timestamp 类型换成 距 1970年1月1日0点0分0秒的时间差,除非自己写个函数。

或者直接去 sys租户查,用 mysql 租户的 usec_to_time 和 time_to_usec 函数实现查询和 条件里带范围。

1 个赞