Nota: mira la diferencia entre coalesce y la función ifnull.
El operador de coalescencia (que de hecho no es un operador sino una función) toma una lista variable de argumentos y devuelve el primero que encuentre que no sea nulo.
Explicado con palabras sencillas, llamamos a COALESCE con una lista de argumentos.
Si, por ejemplo, la lista es esta:
COALESCE(NULL, 0, "Hola")
Devolverá 0
Si la lista es:
COALESCE(NULL, NULL, "Hola")
Devolverá “Hola”
Evalúa cada elemento de izquierda a derecha. Si el primero es nulo, pasa al segundo. Si el segundo lo es, pasa al tercero, y así hasta terminar con la lista.
Esto sirve cuando puede que un resultado devuelva NULL, y queremos que en lugar de eso devuelva otro valor. Un ejemplo podría ser el promedio de una consulta, que devuelve null en lugar de cero cuando no hay datos.
Para entender mejor esta función, veamos esta tabla de mascotas que tengo. Vemos que la edad es un número entero.
Ahora, si yo quisiera sacar la suma de edades podría hacer la siguiente consulta:
Todo sale de maravilla, la suma es 40.
Pero bueno, eso fue porque yo ya tengo datos en la tabla. ¿Qué pasa si ponemos un sistema para un cliente y no hay datos? bueno, veamos.
Voy a borrar los datos de la tabla con la siguiente consulta:
Al consultar, no hay nada:
Uno esperaría que al ejecutar la siguiente consulta…
El resultado sea 0.
Pero al hacerla sobre la tabla vacía, devuelve NULL, como se ve a continuación:
Ahora, en lugar de hacer la misma consulta para sumar, haré esto:
Como en este caso SUM devolverá NULL, COALESCE tomará el siguiente elemento de la lista. ¿y cuál es? el 0.
Si la ejecuto sin datos, sale 0, como se muestra en la imagen:
Ingresaré algunos datos y si luego la vuelvo a ejecutar, sale la suma:
Por lo que COALESCE no afecta a nuestras consultas, sino que nos ayuda a manejar errores nulos. Podemos combinarla con cualquier otra función que devuelva NULL en caso de que no encuentre datos, como AVG.
La impresión de un PDF en cualquier impresora se puede automatizar con un bot de…
Hoy te enseñaré cómo enviar un mensaje a un usuario desde un bot de Telegram…
El día de hoy te enseñaré algo muy sencillo pero útil al programar con PHP:…
El plugin para imprimir en impresoras térmicas alcanza hoy su versión 3.4.0 agregando soporte para…
En ocasiones es necesario leer los pixeles y colores de una imagen con JavaScript del…
Siguiendo con los tutoriales de listas desplegables o select con JavaScript, vamos a ver cómo…
Esta web usa cookies.
Ver comentarios