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.
- 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);
sqlSe 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');
sqlCuando ejecutes el código, el resultado tendrá este aspecto:
Este es el primer valor
sqlLa 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');
sqlObtenemos el siguiente resultado:
Esta es la alternativa
sqlDado 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);
sqlObtenemos el siguiente resultado:
10
sqlSin un valor especificado, la función SQL IFNULL() hace su trabajo:
IFNULL(NULL, 15);
sqlEl resultado es:
15
sqlUn 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;
sqlEsto 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.
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.