SQL – La función COALESCE

La función COALESCE retorna la primera expresión no nula de la lista. Su sintaxis es la siguiente:

COALESCE ( expr1 expr2 , …, exprn )

donde

expr1 es la expresión que se retorna si no es nula

expr2 es la expresión que se retorna si expr1 es nula y si esta expresión no es nula

exprn es la expresión que se retorna si la anterior expresión es nula

Si todas las expresiones son nulas, la función retorna un nulo.

Ejemplo del uso de la función:

Se desea conocer cual es el número de automóviles del modelo más antiguo existentes en un concesionario.

SELECT marcaAutomovil, modelo2002, modelo2003, modelo2004, COALESCE (modelo2002, modelo2003, modelo2004) as automovilesAntiguos

FROM existencias;

Resultado:

marcaAutomovilmodelo2002modelo2003modelo2004automovilesAntiguos
Chevrolet 242
Mazda52 5
Ford  33
Toyota    

En este ejemplo, la funcion COALESCE (modelo2002, modelo2003, modelo2004) examina la nulidad del campo modelo2002; si éste no es nulo, retorna el valor de este campo. Si por el contrario, modelo2002 es nulo, examina el siguiente campo (modelo2003) y repite el proceso anterior hasta encontrar el primer campo no nulo o hasta completar la verificacion en todos los campos de la lista(encaso de que todos fuesen nulos).

Observese en el resultado de la consulta, que en el registro de la marca Chevrolet, la columa correspondiente al valor retornado por la función coalesce (columna automovilesAntiguos) contiene el valor 2, ya que es el primer valor no null que encuentra. Lo mismo ocurre para los registro de mazda y Ford. En el último caso, se puede ver que los campos modelo2002, modelo2003 y modelo2004 son todos nulos; por lo tanto la función la función coalesce retorna null.

Escrito por: Sandra P.
tt_sandra at hotmail dot com

Leave a Reply