BIRT 计算列使用运算符 LIKE

BIRT computed column use operator LIKE

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

我试过了:

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

但是没用。

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

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


例如在 Crystal 报告中我使用

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

但是BIRT不支持运算符'then'

提前致谢

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

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

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