Você pode usar
COALESCE
ou ISNULL
. O primeiro é padrão e retorna o primeiro NOT NULL
argumento (ou NULL
se todos os argumentos forem NULL
) SELECT COALESCE(micv.value,'Pending') as value
ISNULL
é restrito a apenas 2 argumentos, mas é mais eficiente no SQL Server se o primeiro valor a ser testado for caro para avaliar (por exemplo, uma subconsulta). Uma possível "pegadinha" com
ISNULL
estar ciente é que ele retorna o tipo de dados do primeiro parâmetro, portanto, se a string a ser substituída for maior do que o tipo de dados da coluna permitiria, você precisará de uma conversão. Por exemplo.
CREATE TABLE T(C VARCHAR(3) NULL);
INSERT T VALUES (NULL);
SELECT ISNULL(C,'Unknown')
FROM T
Retornaria
Unk
Mas
ISNULL(CAST(C as VARCHAR(7)),'Unknown')
ou COALESCE
ambos funcionariam como desejado.