Informatic-如果IIF条件为空,结果是什么?

时间:2014-09-16 17:05:14

标签: informatica informatica-powercenter

如果我的Informatica代码如下所示:

IIF(foo,1,0)

foo = NULL,输出是什么?

很抱歉,如果这个问题的答案显而易见,或者是某个地方的参考,但我通过谷歌搜索或搜索SO找不到任何有用的东西。

2 个答案:

答案 0 :(得分:2)

foo是一个应该评估为TRUEFALSE的表达式,所以这里是Integration Service在构成整个条件时如何解释不同的整数值:

IIF(  -7, 1, 0)  ->  1
IIF(   0, 1, 0)  ->  0
IIF(NULL, 1, 0)  ->  0
IIF(   7, 1, 0)  ->  1

所有负整数或正整数都会产生TRUE0NULL会给FALSE

答案 1 :(得分:0)

如果我是你,我会尝试重写这一特定作品。虽然它不是不正确的,但最好不要这样编码。包裹" foo"在isnull()周围,如果你怀疑它是这样的。此外,使用等效的nvl并检查这些值。处理NULL的条件检查总是很昂贵。