对OpenStudio中现有的Talend作业进行故障排除,该作业在Expression中有一些嵌套计算。其中一列在表达式字段中有这个。
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))
缺少括号让我失望。因此混乱。
感谢这方面的任何帮助。
谢谢, 蜂