Cómo validar si un valor es NULL y regresar otro valor con la función ISNULL en SQL Server

Resumen:
en este tutorial, aprenderás a usar la función ISNULL() de SQL Server para reemplazar NULL con un valor especifico.
Descripción general de la función SQL Server ISNULL ()
La función ISNULL () de SQL Server reemplaza NULL con un valor especificado. A continuación, se muestra la sintaxis de la función ISNULL ():
ISNULL(expression, replacement)
La función ISNULL () acepta dos argumentos:
expression
es una expresión de cualquier tipo que se comprueba para NULL.replacement
es el valor que se devolverá si la expresión es NULL. El reemplazo debe ser convertible a un valor del tipo de expresión.
La función ISNULL () devuelve el reemplazo si la expresión se evalúa como NULL. Antes de devolver un valor, convierte implícitamente el tipo de reemplazo al tipo de expresión si los tipos de los dos argumentos son diferentes.
En caso de que la expresión no sea NULL, la función ISNULL () devuelve el valor de la expresión.
Ejemplos de la función ISNULL () de SQL Server
Tomemos algunos ejemplos del uso de la función ISNULL ().
Uso de la función ISNULL () de SQL Server con el ejemplo de datos numéricos
Este ejemplo del SELECT usa la función ISNULL () para devolver el segundo argumento porque el primer argumento es NULL:
SELECT
ISNULL(NULL,20) result;
El resultado es el siguiente:
Result
-----------
20
(1 row affected)
Uso de la función ISNULL () de SQL Server con un ejemplo de cadena de caracteres
El siguiente ejemplo usa la función ISNULL () para devolver la cadena 'Estrada Web Group' porque es el primer argumento y no NULL:
SELECT
ISNULL('Estrada Web Group', 'EWG') Result;
Resultado
Result
------
Estrada Web Group
(1 row affected)
Uso de la función ISNULL () de SQL Server para reemplazar valores NULL con valores significativos
Primero, crea una nueva tabla con CREATE TABLE llamada divisiones que almacene las divisiones de los atletas por edades:
CREATE TABLE divisiones
(
id INT
PRIMARY KEY IDENTITY,
min_age INT DEFAULT 0,
max_age INT
);
En segundo lugar, inserta algunas filas en la tabla de divisiones:
INSERT INTO divisiones(min_age, max_age)
VALUES(5,null),
(20,null),
(null,30);
En tercer lugar, consulte los datos de la tabla de divisiones:
SELECT
id,
min_age,
max_age
FROM
divisiones;
La siguiente imagen muestra el resultado:
Si una división no requiere edad mínima, la columna min_age tendrá NULL. De manera similar, si una división no requiere la edad máxima, la columna max_age también tendrá NULL.
Por último, usa la función ISNULL() para convertir el valor NULL en la columna min_age a 0 y NULL en la columna max_age a 99:
SELECT
id,
ISNULL(min_age,0) min_age,
ISNULL(max_age,99) max_age
FROM
divisiones;
La siguiente imagen muestra el resultado:
En este tutorial, has aprendido a usar la función ISNULL () de SQL Server para reemplazar NULL con un valor especificado.