选择时间间隔大于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助手的字体有时会合并字符,这类事件更受欢迎;不停止语法错误(像其他工具一样)也有利于这一点。