ISNULL(Transact-SQL)
NULL을 지정된 대체 값으로 바꿉니다.
구문
ISNULL ( check_expression , replacement_value )
인수
check_expression
NULL 여부를 검사할 식입니다. check_expression은 모든 형식을 사용할 수 있습니다.
replacement_value
check_expression이 NULL인 경우 반환할 식입니다. replacement_value는 암시적으로 check_expresssion 형식으로 변환할 수 있는 형식이어야 합니다.
주의
NULL이 아닌 경우 check_expression 값을 반환하며 그렇지 않고 형식이 다르면 replacement_value를 check_expression 형식으로 암시적으로 변환한 후 반환합니다.
반환 형식
check_expression과 동일한 형식을 반환합니다.
예
1. AVG와 함께 ISNULL 사용
다음 예에서는 모든 제품의 평균 무게를 구하는 방법을 보여 줍니다. Product
테이블의 Weight
열에 있는 모든 NULL 항목을 50
값으로 대체합니다.
USE AdventureWorks;
GO
SELECT AVG(ISNULL(Weight, 50))
FROM Production.Product;
GO
결과 집합은 다음과 같습니다.
--------------------------
59.79
(1 row(s) affected)
2. ISNULL 사용
다음 예에서는 AdventureWorks
에서 모든 특별 행사에 대한 설명, 할인율, 최소 수량 및 최대 수량을 선택하는 방법을 보여 줍니다. 특정한 특별 행사에 대한 최대 수량이 NULL인 경우 결과 집합의 MaxQty
는 0.00
으로 표시됩니다.
USE AdventureWorks;
GO
SELECT Description, DiscountPct, MinQty, ISNULL(MaxQty, 0.00) AS 'Max Quantity'
FROM Sales.SpecialOffer;
GO
결과 집합은 다음과 같습니다.
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)
참고 항목
참조
식(Transact-SQL)
IS [NOT] NULL(Transact-SQL)
시스템 함수(Transact-SQL)
WHERE(Transact-SQL)
COALESCE(Transact-SQL)