选择时间间隔大于Teradata中某个值的记录

选择时间间隔大于Teradata中某个值的记录,teradata,sqldatetime,Teradata,Sqldatetime,我遇到了一个简单的问题,就是找出哪些查询比通常需要更多的时间才能完成。我的脚本如下: locking row for access SELECT username, CollectTimeStamp, ((firstresptime - starttime ) HOUR TO second ) AS ElapsedTime, ((firstresptime - firststeptime ) HOUR TO second ) AS ExecutionTime, CAST(((fir

我遇到了一个简单的问题,就是找出哪些查询比通常需要更多的时间才能完成。我的脚本如下:

locking row for access
SELECT 
username, 
CollectTimeStamp, 
((firstresptime - starttime  ) HOUR TO second  ) AS ElapsedTime,
((firstresptime - firststeptime  ) HOUR  TO second ) AS ExecutionTime,
CAST(((firstresptime - firststeptime) SECOND) AS INTEGER) AS ExecutionTimeInt,
(ElapsedTime - ExecutionTime) AS Delay, 
-- other kpis here
FROM dbql_data.dbql_all
where username ='MyUser'; 
and dateofday> '2017-07-01'
    and ExecutionTimeInt > 5
但是,我得到的记录
ExecutionTimeInt
小于5

问题:如何获取时间间隔大于某个值的记录

额外信息:

从dbc.dbcinfo中选择*返回

    InfoKey InfoData
1   VERSION 15.10.04.10
2   RELEASE 15.10.04.02
3   LANGUAGE SUPPORT MODE   Standard

ExecutionTimeInt
计算可能会失败,因为
间隔溢出
被限制为9999秒

ElapsedTime
是一个间隔,正确的比较方法是:

WHERE ElapsedTime > interval '5' second


ExecutionTimeInt
计算可能会失败,因为
间隔溢出
被限制为9999秒

ElapsedTime
是一个间隔,正确的比较方法是:

WHERE ElapsedTime > interval '5' second


在我的特殊情况下,很少有机会超过9999秒,因为所有查询都是使用Teradata.Net客户端发出的,我的超时时间最多为600秒。无论如何,我已经尝试了第一个建议(
WHERE ElapsedTime>interval'5'second
),但我仍然收到了看起来更小的值,如'0:00:00.020000')。@Alexei:如果这是您的实际查询,请删除
之后,其中username='MyUser':-)该死。在SQL Assistant中错过了这一点。当然,没有它也行。谢谢。@Alexei:在这里,完成了:
delete from acclogtbl;其中logdate>current_date-500
:-)嗯,SQL助手的字体有时会合并字符,这类事件更受欢迎;不在语法错误时停止(像其他工具一样)也有利于这一点。在我的特殊情况下,有一个非常小的机会超过9999秒,因为所有查询都是使用Teradata.Net客户端发出的,我的超时时间最长为600秒。无论如何,我已经尝试了第一个建议(
WHERE ElapsedTime>interval'5'second
),但我仍然收到了看起来更小的值,如'0:00:00.020000')。@Alexei:如果这是您的实际查询,请删除
之后,其中username='MyUser':-)该死。在SQL Assistant中错过了这一点。当然,没有它也行。谢谢。@Alexei:在这里,完成了:
delete from acclogtbl;其中logdate>current_date-500
:-)嗯,SQL助手的字体有时会合并字符,这类事件更受欢迎;不停止语法错误(像其他工具一样)也有利于这一点。