Du kan använda COALESCE
eller ISNULL
. Den förra är standard och returnerar den första NOT NULL
argument (eller NULL
om alla argument är NULL
)
SELECT COALESCE(micv.value,'Pending') as value
ISNULL
är begränsad till endast 2 argument men är effektivare i SQL Server om det första värdet som ska testas är dyrt att utvärdera (t.ex. en underfråga).
En potentiell "gotcha" med ISNULL
att vara medveten om är att den returnerar datatypen för den första parametern så om strängen som ska ersättas är längre än kolumndatatypen skulle tillåta kommer du att behöva en cast.
T.ex.
CREATE TABLE T(C VARCHAR(3) NULL);
INSERT T VALUES (NULL);
SELECT ISNULL(C,'Unknown')
FROM T
Skulle returnera Unk
Men ISNULL(CAST(C as VARCHAR(7)),'Unknown')
eller COALESCE
skulle båda fungera som önskat.