Instrucción COALESCE
Coalesce es una función que evalúa los argumentos que se le ingresan en orden y devuelve el valor actual del primer argumento que no se evalúa como NULL. Por ejemplo,
SELECT COALESCE (NULL, NULL, ‘tercer_valor’, ‘cuarto_valor’);
devuelve el tercer valor porque el tercer valor es el primer valor que no es nulo.
Microsoft sugiere la expresión COALESCE como un acceso directo sintáctico para la expresión CASE. Es decir, el código COALESCE (expresión1, … n) es reescrito por el optimizador de consultas como la siguiente expresión CASE
CASE
WHEN (expression1 IS NOT NULL) THEN expression1
WHEN (expression2 IS NOT NULL) THEN expression2
…
ELSE expressionN
END
Usando de ejemplo la tabla Customers de la base de datos Northwind (que puede ser descargada desde este link) usaremos la función COALESCE para en el caso de que el campo FAX sea nulo devuelva el campo de PHONE y si el campo PHONE también es nulo que devuelva ‘Nothing’
SELECT Companyname, ContactName, COALSESCE( Fax, Phone, ‘Nothing’)
FROM Customers