在IBM DB2中按NULL划分

时间:2019-02-26 05:56:35

标签: sql null db2 division

在Oracle中,任何数字除以NULL都会返回NULL。我想知道DB2数据库是什么情况? 重点是检查以下表达式对于Oracle和DB2是否表现出相同的行为: 从some_table中选择a / NULLIF(b,0); 假设b = 0,我们将除以空。

2 个答案:

答案 0 :(得分:1)

如果两个参数相等,则NULLIF函数将返回null值;否则,它将返回第一个参数的值。

  
    

-NULLIF(expression,expression)-------------------------------

  

使用NULLIF(e1,e2)的结果与使用CASE表达式的结果相同:

e1 = e2则为空,否则e1结束的情况 复制

当e1 = e2由于一个或两个参数为空而得出未知值时,CASE表达式会认为该计算结果不正确。在这种情况下,NULLIF返回值 第一个参数。 IBM DB2 docs

因此,对于DB2和oracle来说,其工作方式相同

答案 1 :(得分:0)

当数学表达式中的运算符之一为null时,Db2返回null。例如

values (3 / cast(null as integer)) will return null.

另一方面,NULLID的定义与Oracle中的定义相同。如果两个参数相等,则将返回null。