Можете да използвате COALESCE
или ISNULL
. Първият е стандартен и връща първия NOT NULL
аргумент (или NULL
ако всички аргументи са NULL
)
SELECT COALESCE(micv.value,'Pending') as value
ISNULL
е ограничен само до 2 аргумента, но е по-ефективен в SQL Server, ако първата стойност, която трябва да се тества, е скъпа за оценяване (напр. подзаявка).
Една потенциална грешка с ISNULL
трябва да знаете, че той връща типа данни на първия параметър, така че ако низът, който трябва да бъде заместен, е по-дълъг, отколкото би позволил типът данни на колоната, ще ви трябва преобразуване.
Напр.
CREATE TABLE T(C VARCHAR(3) NULL);
INSERT T VALUES (NULL);
SELECT ISNULL(C,'Unknown')
FROM T
Ще върне Unk
Но ISNULL(CAST(C as VARCHAR(7)),'Unknown')
или COALESCE
и двете ще работят по желание.