我正在使用Jaspersoft的iReport和icinga的数据创建监视报告。
在ireport中,我必须输入查询以获取所需的数据。现在,我想从该服务获取(受监视对象的)名称和相应的可用性。为此,icinga提供了一个function,它以object_id,开始日期和结束日期为参数。如:
select icinga_availability(203, '2017-09-01 00:00:00','2017-09-30 23:59:59'), name1 from icinga_objects where object_id = '203';
对于iReport,我需要在一个查询中获取所有需要的对象。例如,我需要对象编号131、258、101、465。
是否可以将变量/通配符或多个object_id传递给函数?我还无法处理。
谢谢您的帮助!
最佳答案
不再正式支持iReport,因此最好切换到Jaspersoft Studio。
因此,我只能说出它在JSS中的工作方式,但它也应该在iReport中工作:
select icinga_availability( $P{obejct_id} , '2017-09-01 00:00:00','2017-09-30 23:59:59'), name1 from icinga_objects where object_id = to_char( $P{obejct_id} );
使用整数参数:
<parameter name="obejct_id" class="java.lang.Integer"/>
因此,在运行报告时,您可以输入要查看的object_id。
关于mysql - 具有可变参数的MySQL函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46704091/