我正在使用 iReport 5.1 , JasperReports Server 5.1 ,而我在使用INTERVAL
查询时遇到问题。我遇到问题的查询行是:
AND I.created::DATE >= I.created::DATE - INTERVAL '$P{attribution_window_passed} days'
我将归因窗口值从主报表传递到子报表作为参数。我通过使用子报表中的文本字段验证传递的参数值是否正常工作。如果我用整数排除和替换$P{attribution_window_passed}
,则查询运行正常,例如:
AND I.created::DATE >= I.created::DATE - INTERVAL '30 days'
我认为问题是逃避单引号,我试过没有运气:
'$P{attribution_window_passed} days'
\' $P{attribution_window_passed} days'
$P{attribution_window_passed} days
$P{attribution_window_passed} ' days'
\'$P{attribution_window_passed} days\'
\\' $P{attribution_window_passed} days'
我也尝试将$P{attribution_window_passed}
更改为字符串类而不是整数类。
我们将非常感谢您在查询中使用INTERVAL
的任何建议。
答案 0 :(得分:0)
我正在使用PostgreSQL。我在主报告和子报告中将参数'attribution_window_passed'从Integer更改为String。然后将主报告中的查询选择语句更改为
用于连接并作为参数传递给子报表。子报表中的查询现在看起来像