La función SQL ISNULL se usa para verificar o reemplazar el valor nulo de la columna o expresión especificada que es el primer parámetro de la función, si es nulo, la función devolverá el valor del segundo parámetro como valor alternativo o reemplazado, y si es el primero el valor del parámetro no es nulo, la función devolverá lo mismo.
¿Qué son los valores NULL?
Los valores nulos de los datos faltantes en las tablas SQL son como marcadores de posición en la base de datos donde los datos no están disponibles, el valor SQL NULL no es parte de ningún tipo de datos SQL, la columna que tiene cualquier tipo de datos puede tener un valor NULL.
Se requieren funciones nulas para realizar operaciones en los valores nulos almacenados en la base de datos. Podemos aplicar funciones sobre valores NULL para comprobar si un valor es nulo o no, o para realizar cualquier operación sobre él.
Función | Descripción |
---|---|
ISNULL () | Se usa para verificar el valor NULL en el primer argumento y reemplazarlo con el valor del segundo argumento |
IFNULL () | Devuelve el valor del primer argumento si es NULL; de lo contrario, devuelve el segundo valor |
NVL () | se usa para reemplazar el valor NULL con el valor deseado dado por el usuario |
Sintaxis SQL ISNULL
SQL ISNULL es una función SQL avanzada que toma dos parámetros, el primero es la expresión o el nombre de la columna y el segundo es el valor que se devuelve si la expresión o la columna contiene un valor NULL
ISNULL (columna_nombre | Reemplazo)
Argumento de la función ISNULL SQL Server:
- columna_nombre: especificamos el nombre de la columna en la que necesitamos verificar los valores NULL.
- Reemplazo: el valor por el cual queremos reemplazar NULL con un valor específico, el reemplazo medio
Ejemplos de la función SQL ISNULL
En la consulta usamos la función SQL ISNULL para verificar si el campo correoelectrónico es NULL , que me devuelva la frase ‘NO TIENE’
SELECT ID, Nombre, Apellido, ISNULL(correoelectrónico,'NO TIENE')correoelectrónico, Addressline, ciudad,cargo, nota FROM Empleado
Función SQL ISNULL con función Agregada
La función agregada como AVG, SUM, MIN, MAX se puede usar con la función SQL ISNULL, podemos dar el resultado de SQL ISNULL como una entrada de funciones agregadas
Por ejemplo, para encontrar el promedio obtenido de las calificaciones de los estudiantes, si obtener las calificaciones es NULO entonces se reemplaza con 35 calificaciones,
SELECT AVG(ISNULL(calificaciones, 35)) AS promedio
FROM Estudiantes
En la consulta anterior, primero todos los valores NULL de la columna de obtener marcas se reemplazan con 35 y luego la función AVG para el conjunto resultante de todos los valores no nulos.
Diferencia entre el operador IS NULL y la función ISNULL()
- La función SQL ISNULL() devuelve un valor alternativo o reemplaza el valor NULL con el valor del segundo argumento cuando una expresión es NULL. El operador IS NULL enumera todos los registros que tienen valor NULL
- Cuando se utiliza el operador SQL Is NULL, una expresión booleana utilizada para filtrar un registro o registros, la función SQL ISNULL transforma un valor nulo en otro valor
- IS NULL se usa en la cláusula WHERE para evaluar una condición. Por otro lado, ISNULL() es una función que examina una columna o un valor, y devuelve un valor específico si la evaluación devuelve NULL como resultado
Conclusión
Los valores nulos pueden crear problemas en las consultas SQL, como resultados inesperados o errores. La función SQL ISNULL proporciona una forma sencilla de manejar valores nulos en sus datos. Al usar la función ISNULL, puede reemplazar los valores nulos con un valor que tenga sentido para su aplicación.