Możesz użyć COALESCE
lub ISNULL
. Pierwsza jest standardowa i zwraca pierwszy NOT NULL
argument (lub NULL
jeśli wszystkie argumenty są NULL
)
SELECT COALESCE(micv.value,'Pending') as value
ISNULL
jest ograniczony tylko do 2 argumentów, ale jest bardziej wydajny w SQL Server, jeśli pierwsza testowana wartość jest kosztowna do oceny (np. podzapytanie).
Jeden potencjalny "gotcha" z ISNULL
należy pamiętać, że zwraca typ danych pierwszego parametru, więc jeśli zastępowany łańcuch jest dłuższy niż pozwalałby na to typ danych kolumny, będziesz potrzebować rzutowania.
Np.
CREATE TABLE T(C VARCHAR(3) NULL);
INSERT T VALUES (NULL);
SELECT ISNULL(C,'Unknown')
FROM T
Zwróci Unk
Ale ISNULL(CAST(C as VARCHAR(7)),'Unknown')
lub COALESCE
obie będą działać zgodnie z oczekiwaniami.