ISNULL() en SQL Server

 Función ISNULL() en SQL Server




La función sql ISNULL nos permite establecer un valor si la expresión es NULL. Si la expresión evaluada no es null esta nos devolverá como resultado la expresión.

Sintaxis sql ISNULL

ISNULL(EXPRESION, VALOR)


Argumentos de la función sql ISNULL

Expresión: Indicamos la expresión que vamos a evaluar si es null. La expresión puede ser de cualquier tipo de datos.

Valor: el valor es lo que obtendremos si la expresión es null y esta debe ser de un tipo de dato que podamos convertir implícitamente con la expresión evaluada de lo contrario obtendremos un error.


sql isnull ejemplo

Para el primer ejemplo vamos a validar si la siguiente expresión es NULL.

SELECT ISNULL('Planchador',' COCINA') 

Veamos el resultado:


Al ejecutar la consulta nos devuelve la expresión 'Planchador' ya que el valor dado no es NULL.

 veamos otro ejemplo, de la siguiente expresión validemos si es NULL.

SELECT ISNULL(NULL,' CONSOLA') AS RESULTADO

Ejecutemos el segundo ejemplo para mostrar el resultado.


En resultado obtenido nos devuelve el valor especificado ya que la expresión si es NULL.

Ahora hagamos un poco mas complejo el ejemplo. Vamos a crear una variable y le asignaremos un valor el cual validaremos si es NULL.

DECLARE @PAIS AS VARCHAR(80)
    SET @PAIS = 'FRANCIA'
SELECT ISNULL(@PAIS,458) AS RESULTADO

Ejecutemos la consulta en Management Studio:


Al ejecutar la consulta vamos a obtener la expresión ya que se valido que la expresión almacenada en la variable no es NULL.


Comprobar si hay valores nulos en una columna de una tabla en SQL

El siguiente ejemplo vamos a actualizar las existencia de un producto en la tabla "SivProductos". Vamos a validar la expresión 'CantidadExistente' si es NULL  el resultado devuelto será cero, de no ser NULL la expresión validada vamos a sumarle a las existencia actuales la cantidad comprada y bonificada. veamos la consulta:

declare @UpdateExistecias decimal(18,2),
	@CantidadComprada as decimal(18,2),
        @CantidadBonificada as decimal(18,2),
        @objProductoID as nvarchar(50)

 set @CantidadComprada = 10
 set @CantidadBonificada = 2
 set @objProductoID = 'PL00468'
 set @UpdateExistecias = 
 (select ISNULL(CantidadExistente,0)+@CantidadComprada+@CantidadBonificada 
	            from SivProductos where ProductoID = @objProductoID)
PRINT @updateExistecias 

Ejecutemos la consulta en SQL server Management Studio:

Al ejecutar la consulta podemos ver que la expresión no es NULL, por lo tanto ala cantidad existente en la tabla producto le sumamos la cantidad comprada y la cantidad bonificada y nos imprime en pantalla el total de las existencias.

veamos un ultimo ejemplo. De una tabla llamada "ScpCompras" vamos a contar todo los montos pagados pero cuyos montos de notas de créditos no se hayan aplicado para eso vamos a crear la siguiente consulta

select COUNT(NetoPagar) as Total from 
ScpCompra 
where NetoPagar in(select ISNULL(MontoNC,NetoPagar) from ScpCompra)

La siguiente consulta va a validar si el monto de la nota de crédito es Null, el resultado va a contar únicamente los registros de pagos cuyos montos de nota de crédito no se aplicaron. ejecutemos la consulta para obtener el resultado:

Podría interesarte(Contar registros en SQL)


La expresión "MontoNC" es NULL por lo tanto al realizar el conteo de los registros nos mostrara la cantidad de pagos realizados sin monto de nota de crédito.

En este articulo hemos aprendido el uso de la función ISNULL muy importante al momento de validar si hay registros nulos dentro de una tabla.


Publicar un comentario

0 Comentarios