我们在unix系统中设置了zabbix。报告连接到设置了zabbix警报的DB2数据库。现在,我想编写一个查询,当在输出中未看到任何记录时将调用此警报。
这意味着查询将检查过去2小时内是否有任何运行并返回这些记录。如果没有任何输出,它将调用警报。
select from_tz(to_timestamp(substr(lastmodifytime,1,19), 'YYYY MM DD HH24 MI
SS'),'GMT') at time zone 'US/Pacific',
objectid, parentid, typeid, ownerID, LastModifyTime
from BODEV.CMS_INFOOBJECTS7 c
where to_date(substr(lastmodifytime,1,19), 'YYYY MM DD HH24 MI SS') >
sysdate - 2/60/60/24
order by lastmodifytime desc;
答案 0 :(得分:1)
如果小数秒的前导零(即2019 01 22 13 01 18 002
而不是2019 01 22 13 01 18 2
),则... where lastmodifytime > to_char(current timestamp - 2 hour, 'YYYY MM DD HH24 MI FF3')
。
否则,将行与substr
一起使用。
select *
from table(values
to_char(current timestamp - 3 hour, 'YYYY MM DD HH24 MI FF3')
--, to_char(current timestamp - 1 hour, 'YYYY MM DD HH24 MI FF3')
) c (lastmodifytime)
where
lastmodifytime > to_char(current timestamp - 2 hour, 'YYYY MM DD HH24 MI FF3')
--substr(lastmodifytime, 1, 19) > to_char(current timestamp - 2 hour, 'YYYY MM DD HH24 MI')
fetch first 1 row only
optimize for 1 row
;
取消注释第二行,以得到表明过去2小时内发生了某些事情的结果。