Вы можете использовать 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
будет работать как нужно.