Publicado el Dejar un comentario

SQL: regresar un valor en lugar de nulo (null) en una consulta.

En ocasiones una consulta SQL puede regresar en una de sus columnas un valor nulo, pero necesitamos que en su lugar regrese un valor por defecto ya sea porque necesitamos hacer alguna operación con ese valor o simplemente por estética.

Existen varias funciones que hacen lo mismo según la base de datos de que se trate. Aquí se verá la función COALESCE(). Esta función regresa el primer argumento no nulo de la lista de argumentos que se le pasen. Su sintaxis es:

COALESCE(argumento1, argumento2,…argumentoN)

A ésta función se le deben pasar al menos 2 argumentos. Si todos los argumentos de la lista son nulos, esta función regresara nulo (nul). Los argumentos no nulos dados deben ser del mismo tipo de dato, si no la función podría marcar error. Es decir, deben ser todos numéricos o todos cadena o de otro tipo. Veamos unos ejemplos:

SELECT COALESCE(null, 1, 3) as campo1;

Al ejecutar la sentencia sql anterior, la expresión campo1 regresará el valor 1, ya que es el primer argumento no nulo en la lista de argumentos que se le dió. El ejemplo anterior podrá funcionar en SQLite, SQL Server o Postgresql. En Oracle se debe ejecutar la siguiente sentencia:

SELECT COALESCE(null, 1, 3) as campo1 from dual;

Espero y les sea de utilidad. ¿Dudas u observaciones? Deja tu comentario. ¡Saludos!