测试代码:
begin
DBMS_OUTPUT.PUT_LINE('Result:');
IF '' = 'ALL' THEN
DBMS_OUTPUT.PUT_LINE('Equal');
END IF;
IF '' != 'ALL' THEN
DBMS_OUTPUT.PUT_LINE('Not Equal');
END IF;
DBMS_OUTPUT.PUT_LINE('None');
end;
output:
Result:
None
按道理说,绿色和蓝色是对立的,应该有一句输出来。但是,实际上都没有结果输出。
注意:跟‘ALL’作比较的是空字符串,引号里没有空格。若‘ ’有空格,则会输出Not Equal。
结论: 空(Null)参与任何运算的结果都是Null,而Null在Oracle里被当做false处理,从而Null将会跳过所有逻辑判断。正所谓,本来无一物,何处惹尘埃!
一切皆空(,因果不空。善恶之报,如影随形)!
本文深入探讨了Oracle中空值参与逻辑判断的行为特性,通过具体代码实例展示了空值如何影响条件判断,并解释了其背后的原理。
7051

被折叠的 条评论
为什么被折叠?



