V$TRANSACTION 表来查找事务的持续时间



如何使用 Oracle 中 V$TRANSACTION 表的START_TIME列查找从当前时间开始活动超过 30 分钟的事务的名称?

我们可以在 Oracle 中使用日期进行算术运算。系统日期是当前日期时间。一天有48个半小时。所以:

select * 
from V$TRANSACTION
where to_date(start_time, 'mm/dd/yyyy hh24:mi:ss') <= sysdate - (1/48)

嗯,V$TRANSACTION.start_time使用与 sysdate 不同的格式掩码似乎有点奇怪。无论如何,您可以通过显式日期转换来避免ORA-01843错误。

最新更新