为什么x + NULL导致NULL?

时间:2013-09-13 00:48:28

标签: sql null

我正在尝试从两列添加两个值,但我最终得到的结果为null,因为一列有一些null 这是我的查询

select COL1,
       (COL2)+(COL3) as Total
from Table

Col2的值为1,2,3,4,5

Col3的值为5,3,Null,null,1

Column Total为(3 + null)和(4 + null)吐出NULL,但其他值应该是它们应该的。

有人能告诉我为什么会这样吗?

1 个答案:

答案 0 :(得分:2)

你得到这个是因为任何加上null都是null

您想要做的是:

select col1, isNull(col2,0) + isNull(col3,0) as total
from table

请注意,我假设col2和col3的数据类型是int。您必须进行转换才能处理不同的数据类型。