Select Teradata 中时间间隔大于某个值的记录
Select records having a time interval greater than a certain value in Teradata
我被一个简单的问题困住了,这个问题与找出哪些查询比平时花费更多的时间来完成有关。我的脚本如下:
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 的记录。
问题:如何获取时间间隔大于某个值的记录?
额外信息:
select * from dbc.dbcinfo;
returns
InfoKey InfoData
1 VERSION 15.10.04.10
2 RELEASE 15.10.04.02
3 LANGUAGE SUPPORT MODE Standard
ExecutionTimeInt
计算可能会失败并返回 Interval overflow
,因为它被限制为 9999 秒。
ElapsedTime
是一个Interval,正确的比较方式是:
WHERE ElapsedTime > interval '5' second
或
WHERE ElapsedTime > interval '1' minute
我被一个简单的问题困住了,这个问题与找出哪些查询比平时花费更多的时间来完成有关。我的脚本如下:
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 的记录。
问题:如何获取时间间隔大于某个值的记录?
额外信息:
select * from dbc.dbcinfo;
returns
InfoKey InfoData
1 VERSION 15.10.04.10
2 RELEASE 15.10.04.02
3 LANGUAGE SUPPORT MODE Standard
ExecutionTimeInt
计算可能会失败并返回 Interval overflow
,因为它被限制为 9999 秒。
ElapsedTime
是一个Interval,正确的比较方式是:
WHERE ElapsedTime > interval '5' second
或
WHERE ElapsedTime > interval '1' minute