Vous pouvez utiliser COALESCE
ou ISNULL
. Le premier est standard et renvoie le premier NOT NULL
argument (ou NULL
si tous les arguments sont NULL
)
SELECT COALESCE(micv.value,'Pending') as value
ISNULL
est limité à seulement 2 arguments mais est plus efficace dans SQL Server si la première valeur à tester est coûteuse à évaluer (par exemple une sous-requête).
Un "gotcha" potentiel avec ISNULL
à savoir est qu'il renvoie le type de données du premier paramètre, donc si la chaîne à remplacer est plus longue que le type de données de la colonne ne le permet, vous aurez besoin d'un transtypage.
Par exemple
CREATE TABLE T(C VARCHAR(3) NULL);
INSERT T VALUES (NULL);
SELECT ISNULL(C,'Unknown')
FROM T
Renverrait Unk
Mais ISNULL(CAST(C as VARCHAR(7)),'Unknown')
ou COALESCE
les deux fonctionneraient comme vous le souhaitez.