使用以下命令查询名为income_source
的数据库字段:
SELECT * FROM table_name WHERE income_source LIKE "salaried%"
这将使用“带薪”前缀检索income_source
值。在iReport中,该字段的 PrintWhenExpression 值设置为:
$F{income_source}.equals("Salaried")? Boolean.TRUE:Boolean.FALSE
为什么报表输出与SQL输出不同?
答案 0 :(得分:5)
有一些问题:
"salaried%"
与表达式中"Salaried"
的值不同。"salaried%"
使用%
匹配字母d
后面的所有文字。尝试以下表达式:
$F{income_source}.startsWith( "salaried" )
或者:
$F{income_source}.trim().toLowerCase().startsWith( "salaried" )
其中一个应该有用。您还需要确保选中空白时<空> 。否则,表达式变为:
$F{income_source} == null ? Boolean.FALSE :
$F{income_source}.trim().toLowerCase().startsWith( "salaried" )