Du kan bruge COALESCE
eller ISNULL
. Førstnævnte er standard og returnerer den første NOT NULL
argument (eller NULL
hvis alle argumenter er NULL
)
SELECT COALESCE(micv.value,'Pending') as value
ISNULL
er begrænset til kun 2 argumenter, men er mere effektiv i SQL Server, hvis den første værdi, der skal testes, er dyr at evaluere (f.eks. en underforespørgsel).
En potentiel "gotcha" med ISNULL
at være opmærksom på er, at den returnerer datatypen for den første parameter, så hvis strengen, der skal erstattes, er længere end kolonnens datatype ville tillade, skal du bruge en cast.
F.eks.
CREATE TABLE T(C VARCHAR(3) NULL);
INSERT T VALUES (NULL);
SELECT ISNULL(C,'Unknown')
FROM T
Ville returnere Unk
Men ISNULL(CAST(C as VARCHAR(7)),'Unknown')
eller COALESCE
ville begge fungere som ønsket.