Parameters 将like与jasper参数一起使用

Parameters 将like与jasper参数一起使用,parameters,jasper-reports,wildcard,Parameters,Jasper Reports,Wildcard,我试图在Jasper中使用参数like 我的问题是: ... where tb_produto.NomeProduto LIKE $P{NomeProduto} order by $P!{OrdenarPor} 当我在预览对话框中输入参数$p{NomeProduto}=ABC的名称时,我得到了我的产品, 但是,当我使用通配符时,它不起作用 $p{NomeProduto}=AB%或A%或仅%不返回任何行。您需要使用与order by子句相同的语法。在您的情况下,有必要将参数“按原样”(未绑定参数

我试图在Jasper中使用参数like

我的问题是:

... where tb_produto.NomeProduto LIKE $P{NomeProduto} order by $P!{OrdenarPor}
当我在预览对话框中输入参数$p{NomeProduto}=ABC的名称时,我得到了我的产品, 但是,当我使用通配符时,它不起作用


$p{NomeProduto}=AB%或A%或仅%不返回任何行。

您需要使用与order by子句相同的语法。在您的情况下,有必要将参数“按原样”(未绑定参数)视为:

...
where
    tb_produto.NomeProduto LIKE '%$P!{NomeProduto}%'
order by
    $P!{OrdenarPor} 
详情如下:


但是,当参数从外部(例如Web表单)给定时,您必须注意SQL注入,因为这样可以轻松地操作查询。

如果您希望像这样搜索:……其中empId像“822A%”,那么您可以使用 concat-japser参数与通配符类似:其中empId类似'$P!{p_empId}%'

试试这个:

where  tblName.colName LIKE "%"'$P!{paramName}'"%"