Talend表达式中的加法和减法

Talend表达式中的加法和减法,talend,Talend,对OpenStudio中的现有Talend作业进行故障排除,该作业在表达式中有一些嵌套计算。其中一列的“表达式”字段中有此字段 retrw.AVG_COST.subtract(retrw.AVG_PRICE!=null?retrw.AVG_PRICE:retrw.IPO_PRICE).add(retrw.IPO_CPRICE).subtract(retrw.IPO_DVB!=null?retrw.IPO_DVB:(new BigDecimal(0.0))) 我无法将其转换为常规SQL

对OpenStudio中的现有Talend作业进行故障排除,该作业在表达式中有一些嵌套计算。其中一列的“表达式”字段中有此字段

     retrw.AVG_COST.subtract(retrw.AVG_PRICE!=null?retrw.AVG_PRICE:retrw.IPO_PRICE).add(retrw.IPO_CPRICE).subtract(retrw.IPO_DVB!=null?retrw.IPO_DVB:(new BigDecimal(0.0)))
我无法将其转换为常规SQL请求/公式。本身没有错误,但想知道我的翻译是否正确

希望这里有人能证实

我认为这个表达式在SQL中的翻译是:

  AVG_COST - (DECODE(AVG_PRICE,NULL,IPO_PRICE,AVG_PRICE))+ IPO_CPRICE - (DECODE(IPO_DVB,NULL,0.0,IPO_DVB))
缺少括号使我感到厌烦。因此产生了混乱

感谢您在这方面的帮助

谢谢,
Bee

它不是sql,而是java表达式。你翻译的是什么解码是正确的。我不喜欢解码,这个怎么样:平均成本-合并平均价格,IPO价格+IPO价格-合并平均价格-合并平均价格,0如果您选择数据库句柄编号-null=编号,可能不需要最后一次合并