Můžete použít COALESCE
nebo ISNULL
. První je standardní a vrací první NOT NULL
argument (nebo NULL
pokud jsou všechny argumenty NULL
)
SELECT COALESCE(micv.value,'Pending') as value
ISNULL
je omezena pouze na 2 argumenty, ale je efektivnější v SQL Server, pokud je první testovaná hodnota nákladná na vyhodnocení (např. poddotaz).
Jeden potenciální problém s ISNULL
je třeba si uvědomit, že vrací datový typ prvního parametru, takže pokud je řetězec, který má být nahrazen, delší, než by umožňoval datový typ sloupce, budete potřebovat přetypování.
Např.
CREATE TABLE T(C VARCHAR(3) NULL);
INSERT T VALUES (NULL);
SELECT ISNULL(C,'Unknown')
FROM T
Vrátí Unk
Ale ISNULL(CAST(C as VARCHAR(7)),'Unknown')
nebo COALESCE
oba by fungovaly podle potřeby.