我們試圖使用Talend DI工具來映射數據。在這方面,我們要抓住這是關係到有條件的運營商轉型(由於工具的限制,只要-then-else的語法,而不是它不支持有條件的經營者也不會允許我該如何編寫解碼函數在java中使用條件運算符
樣本數據:。
我想寫這個表達式到了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
提前感謝!
你能發表完整的編譯錯誤嗎? – Kerry
只是一個條件表達式不會編譯,您需要分配或返回結果。 –
@Kerry這裏是更多錯誤的描述:http://paste.ofcode.org/39v84vUZR6r9AwQnUS52M6X – NEO