Declare
a number := 5; b number := null; c number := 10;
Begin
if a > b AND a < c then
a := c * a;
end if;
End;
执行后"a"的值是多少?
为什么答案是5?请解释一下
Null 不是一个值。任何将数字与 null 进行比较都将导致 null。虽然它不会在你的语句中返回 true 或 false,但使用a > b
获得 null 结果等效于返回 false。不符合您的AND
标准;a
不大于null
。因此,a
仍然等于 5。