BIRT计算列使用运算符LIKE

时间:2015-03-16 18:19:57

标签: eclipse report reporting birt

如何在BIRT计算列中使用运算符?

我试过了:

if (row["Dept"] == "%desc%") { 'Test1' } else  { 'Test2' }

但它没有用。

if (row["Dept"] like "%desc%") { 'Test1' } else  { 'Test2' }

我收到一条错误消息 - [Row:1, Column:28] missing ) after condition


例如在Crystal Reports中我使用

if {Dept} like ["*desc*", "*desc1*"] then 'Test1' else 'Test2'

但BIRT不支持运营商'然后'

提前致谢

1 个答案:

答案 0 :(得分:2)

LIKE是SQL语法,而计算列的表达式语法是Javascript。但是,当你可以用纯SQL实现相同的结果时,为什么要使用计算列呢?例如。对于Oracle,以下SQL表达式是等效的:

case
when DEPT like '%desc%' then 'Test1'
else 'Test2'
end

OTOH如果你坚持使用计算列,你可以使用正则表达式。见JavaScript operator similar to SQL "like"