You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Camunda DMN中FEEL语言表示“不等于”的正确语法咨询

Camunda DMN中FEEL语言的“不等于”正确写法

问题场景

你将如下if-else逻辑转换为Camunda DMN决策表:

if(x = 0) {
   z = 0;
} else {
   if(y = 0) {
      z = 1;
   } else {
      z = 2;
   }
}

转换后的决策表:

Input      |     Output
----------------------------------
  x    |    y   |        z
----------------------------------
  0    |    -   |        0
 !=0   |    0   |        1
 !=0   |   !=0  |        2

命中策略设为「First」,单元格表达式语言为FEEL,但Java单元测试抛出Syntax error '!=0'错误,需要明确FEEL语言下“不等于”的正确表示方式。

解决方案

FEEL语言不支持类Java的!=语法,正确的“不等于”表示有两种方式:

  • 使用数学符号**≠**(直接在单元格中输入该符号)
  • 使用FEEL原生表达式**not(= 0)**(无需指定变量名,因为列已绑定对应变量)

修正后的决策表(使用≠符号):

Input      |     Output
----------------------------------
  x    |    y   |        z
----------------------------------
  0    |    -   |        0
 ≠0    |    0   |        1
 ≠0    |   ≠0   |        2

如果编辑器无法输入≠符号,可使用表达式写法:

Input      |     Output
----------------------------------
  x    |    y   |        z
----------------------------------
  0    |    -   |        0
not(=0)|    0   |        1
not(=0)| not(=0)|        2

内容的提问来源于stack exchange,提问作者newProgrammer005

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 07:55:30