我们正在尝试使用 Talend DI 工具映射数据。在那,我们必须捕获与条件运算符相关的转换。(由于工具的限制,它不允许 if-then-else 语法,而是支持条件运算符。
样本数据 :
我正在尝试将此表达式写入 talend tmap 组件。如何使用三元运算符将此表达式写入 tmap 组件表达式构建器。另外,我必须检查空值。
case when [TCode]='(00) PRE-PAID' then '00'when[TCode]='(01) C.O.D.' then '01'when[TCode]='(02) EOM' then '02'when[TCode]='10' then '(10) NET 10 DAYS'when[TCode]='15' then '(15) NET 15 DAYS'when[TCode]='21' then '(21) 2 % 30 NET 31'when[TCode]='23' then '(23) 2% NET 30 DAYS'when[TCode]='3' then '(3) CHECK'when[TCode]='30' then '(30) NET 30 DAYS' else [TCode]end as TCode
试过这个条件运算符:
"(00) PRE-PAID".equals(row.tCode) ?"00" :
"(01) C.O.D".equals(row.tCode) ?"01" :
"(02) EOM".equals(row.tCode) ? "02" :
"Unknown"
尝试上述条件运算符时出错:
Exception in thread "main" java.lang.Error: Unresolved compilation problems:
XML_API_tXMLMap_1 cannot be resolved to a type
XML_API_tXMLMap_1 cannot be resolved to a type
Syntax error on token ""(00) PRE-PAID"", delete this token
提前致谢 !