![]() |
1
9
这是因为 3 valued logic . 在第一种情况下,“未知”不会计算为“真”,因此最终会出现在“其他”中。
在第二种情况下,您正在执行“真”或“未知”,计算结果为“真”。
|
![]() |
2
1
这是由于ansi-sql标准和带有空值的比较运算符的行为造成的。每当要将值与可能为空的值进行比较时,需要使用is运算符显式检查值可能为空的情况。也可以在SQL Server中禁用ansi_nulls选项。 以下示例可以满足您的需要:
或者:
参考文献: |
![]() |
3
1
从纯技术角度来看,第一条语句返回1的原因是因为ansi_nulls被设置为“on”,它将空值视为“unknown”,并遵循ISO标准。
若要按预期对值进行计算,请使用
当然,在现实生活中,
|