SQL IFNULL(): salida de valores alternativos en lugar de valores NULL

La función SQL IFNULL() se utiliza para comprobar el valor de una expresión. Si es NULL, se muestra un valor alternativo en su lugar. Si no es NULL, el sistema muestra su valor original.

¿Qué es SQL IFNULL()?

En el Structured Query Language, la función SQL COALESCE() es una herramienta importante. Sin embargo, si quieres obtener un valor específico si una expresión está vacía o en NULL, puedes utilizar SQL IFNULL() en su lugar. Esta función comprueba la expresión y realiza una de las dos acciones posibles: si el valor comprobado es NULL, se devuelve un valor alternativo, que se puede especificar de antemano. Si el valor almacenado no es NULL, se devuelve la expresión original. Puede parecer confuso, pero te lo explicaremos con algunos ejemplos prácticos.

Servidores virtuales VPS
Virtualización completa con acceso root
  • Ancho de banda de hasta 1 Gb/s y tráfico ilimitado
  • Almacenamiento SSD NVMe ultrarrápido
  • Incluye: edición Plesk Web Host

Sintaxis y funcionalidad

Veamos primero la sintaxis básica de SQL IFNULL():

IFNULL(expresión, expresión_alternativa);
sql

Se comprobará el valor de la primera expresión. La expresión alternativa se emite si la primera expresión es NULL.

Ejemplos de aplicación de la función

Si quieres probar cómo funciona SQL IFNULL(), utiliza estos dos sencillos ejemplos. En el primer intento, la función reconocerá que el valor de la expresión no es NULL:

IFNULL('Esta es la expresión', 'Esta es la alternativa');
sql

Cuando ejecutes el código, el resultado tendrá este aspecto:

Este es el primer valor
sql

La primera expresión tiene un valor y, por lo tanto, la función no utiliza una alternativa. Sin embargo, en el siguiente ejemplo:

IFNULL(' ', 'Esta es la alternativa');
sql

Obtenemos el siguiente resultado:

Esta es la alternativa
sql

Dado que el valor de la primera expresión es NULL, la función utiliza la alternativa.

Esto también funciona con valores numéricos:

IFNULL(10, 15);
sql

Obtenemos el siguiente resultado:

10
sql

Sin un valor especificado, la función SQL IFNULL() hace su trabajo:

IFNULL(NULL, 15);
sql

El resultado es:

15
sql

Un ejemplo práctico

Un posible uso de SQL IFNULL() podría ser el siguiente. Tenemos una tabla llamada “Entregas”; ésta tiene columnas para nombre, dirección de entrega y dirección de facturación:

Nombre Dirección de entrega Dirección de facturación
Pérez Calle Mayor, 17 Calle Mayor, 17
Martín Avenida de la Constitución, 6 Paseo de la Castellana, 548
Hernández Camino Real, 32 NULL
Rodríguez Calle de los Álamos, 77 Calle de la Luna, 62
García Avenida del Sol, 41 Avenida del Sol, 41

Un cliente solo ha introducido una dirección de entrega y ha omitido la dirección de facturación. Si quieres asegurarte de que todas las entradas estén completas, utiliza SQL IFNULL(). El código con el comando SQL SELECT sería el siguiente:

SELECT Nombre, IFNULL(Dirección de facturación, Dirección de entrega) Dirección 
FROM Entregas;
sql

Esto nos da una nueva tabla en la que se almacena al menos una dirección para cada cliente:

Nombre Dirección
Pérez Calle Mayor, 17
Martín Avenida de la Constitución, 6
Hernández Camino Real, 32
Rodríguez Calle de los Álamos, 77
García Avenida del Sol, 41

Alternativas a SQL IFNULL()

Además de la función COALESCE() mencionada anteriormente, existen otras alternativas a SQL IFNULL(). SQL NVL() también convierte un valor NULL a un valor de tu elección. SQL ISNULL() comprueba si un valor es NULL o no y luego lo sustituye por un valor definido si es necesario.

Consejo

La base de datos perfecta para tus necesidades: con el Hosting SQL Server de IONOS, puedes elegir entre MSSQL, MySQL o MariaDB y beneficiarte del máximo rendimiento y de sólidas funciones de seguridad.

¿Le ha resultado útil este artículo?
Page top