当sql不在数学或其他语言中时,为什么null*0 = null

Pét*_*son 2 sql math null

为什么' null * 0 = null'?

没有任何其他结果,为什么null*0不评估0?是否有可能与我不熟悉的某些更高级别的数学有关,或者它可能对dbms有一些影响?

Fel*_*ank 7

NULL通过各种操作方式保持安全是一种理智的设计选择.将乘法乘以0会产生异常会引起不一致,例如

0  * NULL; # 0
1  * NULL; # NULL
.5 * NULL; # HALFNULL? ;-)
Run Code Online (Sandbox Code Playgroud)


das*_*ght 5

NULL在SQL中代表"未知".当使用未知数执行数学运算时,即使将其乘以零,也无法获得任何已知的结果.类似的情况发生在数学中:虽然将任何数字乘以零会产生零,但将无穷大乘以零则不会.