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():
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:
Cuando ejecutes el código, el resultado tendrá este aspecto:
La primera expresión tiene un valor y, por lo tanto, la función no utiliza una alternativa. Sin embargo, en el siguiente ejemplo:
Obtenemos el siguiente resultado:
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:
Obtenemos el siguiente resultado:
Sin un valor especificado, la función SQL IFNULL() hace su trabajo:
El resultado es:
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 |
---|---|---|
Santos | 123 Maple Street | 123 Maple Street |
Johnson | 456 Oak Avenue | 789 Pine Boulevard |
Brown | 321 Birch Road | NULL |
Davis | 987 Cedar Lane | 654 Elm Street |
Martínez | 741 Rosewood Drive | 741 Rosewood Drive |
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:
Esto nos da una nueva tabla en la que se almacena al menos una dirección para cada cliente:
Nombre | Dirección |
---|---|
Santos | 123 Maple Street |
Johnson | 456 Oak Avenue |
Brown | 321 Birch Road |
Davis | 987 Cedar Lane |
Martínez | 741 Rosewood Drive |
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.