IC=IC
ACC=ACC
v_statement='ACC = '1052502',0.035,IC = 'IC130',0.0675'
v_decode_out=DECODE(TRUE,v_statement,0)
我收到错误 上面的表达是正确的。无论如何我们可以实现这个
答案 0 :(得分:2)
您的查询中存在两个问题
首先,您编写的v_statement变量将不会被验证。如果你 我真的想用这种格式写一个字符串,然后使用管道作为
附加'ACC =' || || 1052502”, '|| 0.035 ||' IC = '||' IC130 '||', '||' 0.0675'
请注意,您无法循环引号。
其次,解码语句不起作用的原因是数据类型不匹配。 True是布尔值,v_statement是字符串。任何变量扩展都会在运行时发生,但在此之前不会发生。因此,informatica不允许您使用这种解码语句,除非您将某种字符串输入/变量与另一个字符串或任何其他数据类型进行比较
另外,决定你的情况 当它是ACC否则要评估IC(这似乎是你的情况)
v_decode_out = DECODE(ACC, '1052502',0.035,DECODE(IC, 'IC130',0.0675))
当ACC和IC一起使用时 v_decode_out =解码(TRUE,ACC ='1052502'和/或IC ='IC130',0.035,0.0675)
这些是基本概念。建议您在此处发布问题之前尝试在互联网上提供的所有内容,因为如果您觉得自己没有付出任何努力来自己找到答案,那么有人可以很容易地对您进行评分。
干杯!
答案 1 :(得分:0)
您编写的v_statement变量无法通过验证。如果你真的想用这种格式写一个字符串,那就用附加管道。