SQL减去2列 - 具有空值

MMM*_*MMM 10 sql

我有这个表(由SQL查询):

Row 1 Row 2 
2     1    
3     NULL 
Run Code Online (Sandbox Code Playgroud)

我想减去2列,所以我只选择这样:

Select Row1 - Row2
From table
Run Code Online (Sandbox Code Playgroud)

但后来我得到了这个结果:

1
NULL
Run Code Online (Sandbox Code Playgroud)

代替:

1
3
Run Code Online (Sandbox Code Playgroud)

如何才能获得最后的结果呢?

Tec*_*hDo 17

请试试:

SELECT ISNULL([Row 1], 0) - ISNULL([Row 2], 0) from YourTable
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请访问ISNULL


Luv*_*Luv 6

你得到这个的原因是因为任何带有NULL的数学运算都会产生NULL因此在执行操作时,所有值都应该被读为NULL = 0.

使用ISNULL()

于是

SELECT ISNULL([Row 1], 0) - ISNULL([Row 2], 0) from YourTable
Run Code Online (Sandbox Code Playgroud)