如果我的Informatica代码如下所示:
IIF(foo,1,0)
和foo = NULL
,输出是什么?
很抱歉,如果这个问题的答案显而易见,或者是某个地方的参考,但我通过谷歌搜索或搜索SO找不到任何有用的东西。
答案 0 :(得分:2)
foo
是一个应该评估为TRUE
或FALSE
的表达式,所以这里是Integration Service在构成整个条件时如何解释不同的整数值:
IIF( -7, 1, 0) -> 1
IIF( 0, 1, 0) -> 0
IIF(NULL, 1, 0) -> 0
IIF( 7, 1, 0) -> 1
所有负整数或正整数都会产生TRUE
值0
或NULL
会给FALSE
。
答案 1 :(得分:0)
如果我是你,我会尝试重写这一特定作品。虽然它不是不正确的,但最好不要这样编码。包裹" foo"在isnull()周围,如果你怀疑它是这样的。此外,使用等效的nvl并检查这些值。处理NULL的条件检查总是很昂贵。