ISNULL (Transact-SQL)
Reemplaza NULL con el valor de reemplazo especificado.
Convenciones de sintaxis de Transact-SQL
Sintaxis
ISNULL ( check_expression , replacement_value )
Argumentos
check_expression
Es la expresión donde se va a comprobar la existencia de NULL. check_expression puede ser de cualquier tipo.
replacement_value
Es la expresión que se devuelve si check_expression es NULL. replacement_value debe ser de un tipo que se convierta de forma implícita en el tipo de check_expresssion.
Tipos de valor devueltos
Devuelve el mismo tipo que check_expression.
Notas
El valor de check_expression se devuelve si no es NULL; de lo contrario se devuelve replacement_value después de que se convierta de forma implícita en el tipo de check_expression, si los tipos son diferentes.
Ejemplos
A. Usar ISNULL con AVG
En el ejemplo siguiente se busca el promedio del peso de todos los productos. Sustituye el valor 50
para todas las entradas NULL en la columna Weight
de la tabla Product
.
USE AdventureWorks;
GO
SELECT AVG(ISNULL(Weight, 50))
FROM Production.Product;
GO
Éste es el conjunto de resultados.
--------------------------
59.79
(1 row(s) affected)
B. Usar ISNULL
En el siguiente ejemplo se selecciona la descripción, el porcentaje de descuento, la cantidad mínima y la cantidad máxima de todas las ofertas especiales de AdventureWorks
. Si la cantidad máxima de una oferta especial determinada es NULL, el valor de MaxQty
mostrado en el conjunto de resultados es 0.00
.
USE AdventureWorks;
GO
SELECT Description, DiscountPct, MinQty, ISNULL(MaxQty, 0.00) AS 'Max Quantity'
FROM Sales.SpecialOffer;
GO
Éste es el conjunto de resultados.
Description DiscountPct MinQty Max Quantity
--------------- ------------- -------- ---------------
No Discount 0.00 0 0
Volume Discount 0.02 11 14
Volume Discount 0.05 15 4
Volume Discount 0.10 25 0
Volume Discount 0.15 41 0
Volume Discount 0.20 61 0
Mountain-100 Cl 0.35 0 0
Sport Helmet Di 0.10 0 0
Road-650 Overst 0.30 0 0
Mountain Tire S 0.50 0 0
Sport Helmet Di 0.15 0 0
LL Road Frame S 0.35 0 0
Touring-3000 Pr 0.15 0 0
Touring-1000 Pr 0.20 0 0
Half-Price Peda 0.50 0 0
Mountain-500 Si 0.40 0 0
(16 row(s) affected)
Vea también
Referencia
Expresiones (Transact-SQL)
IS [NOT] NULL (Transact-SQL)
Funciones del sistema (Transact-SQL)
WHERE (Transact-SQL)
COALESCE (Transact-SQL)