2013-04-08 3 views
7

У меня есть эта таблица (сделанный из запроса SQL):SQL минус 2 колонки - с неопределенными значениями

Row 1 Row 2 
2  1  
3  NULL 

И я хочу минус 2 колонки, так что я просто выбрать, как это:

Select Row1 - Row2 
From table 

Но тогда я получаю этот результат:

1 
NULL 

вместо:

1 
3 

Как я могу получить последний результат?

ответ

15

Пожалуйста, попробуйте:

SELECT ISNULL([Row 1], 0) - ISNULL([Row 2], 0) from YourTable 

Для получения дополнительной информации посетите ISNULL

+0

, который отлично работает! – Mathias

5

Причина вы получили это потому, что Любая математическая операция с NULL дает NULL Таким образом, при выполнении операции все значения должны быть считаны как NULL = 0.

С ISNULL()

Следовательно

SELECT ISNULL([Row 1], 0) - ISNULL([Row 2], 0) from YourTable 
Смежные вопросы