2013-04-08 13 views
7

mam tej tabeli (z zapytania SQL):SQL minus 2 kolumny - z wartości null

Row 1 Row 2 
2  1  
3  NULL 

I chcę minus 2 kolumny, więc po prostu wybrać tak:

Select Row1 - Row2 
From table 

Ale potem uzyskać ten wynik:

1 
NULL 

zamiast:

1 
3 

Jak mogę umożliwić uzyskanie ostatniego wyniku?

Odpowiedz

15

Spróbuj:

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

Na wizycie Więcej informacji ISNULL

+0

że działa świetnie! – Mathias

5

Powodem masz to dlatego Każda operacja matematyczna NULL produkuje NULL Więc robiąc operację wszystkie wartości powinny być odczytywane jako NULL = 0.

Z ISNULL()

Stąd

SELECT ISNULL([Row 1], 0) - ISNULL([Row 2], 0) from YourTable 
Powiązane problemy