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

Leave a Reply

Your email address will not be published. Required fields are marked *