【问题标题】:BIRT computed column use operator LIKEBIRT 计算列使用运算符 LIKE
【发布时间】:2015-03-16 18:19:56
【问题描述】:

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

我试过了:

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

但它不起作用。

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

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


例如在我使用的水晶报表中

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

但 BIRT 不支持运算符 'then'

提前致谢

【问题讨论】:

    标签: eclipse report reporting birt


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-13
      • 2020-10-26
      • 1970-01-01
      • 1970-01-01
      • 2017-02-11
      • 1970-01-01
      相关资源
      最近更新 更多