如何在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不支持运营商'然后'
提前致谢
答案 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"