CASE 사용
CASE 식은 여러 조건을 평가하고 각 조건에 대해 단일 값을 반환하는 데 사용됩니다. 예를 들어 CASE 식을 사용하면 열 값에 따라 대체 값을 표시할 수 있습니다. 이러한 데이터 변경은 일시적이며 데이터가 영구적으로 변경되는 것은 아닙니다.
CASE 식은 다음으로 구성됩니다.
CASE 키워드
변환할 열 이름
검색할 식을 지정하는 WHEN 절 및 이를 바꿀 식을 지정하는 THEN 절
TRUE로 평가된 비교 연산이 없을 때 반환되는 식을 정의하는 ELSE 절(옵션)
END 키워드
CASE 식의 별칭을 정의하는 AS 절(옵션)
CASE 식의 일반적인 용도는 코드나 약어를 읽기 쉬운 값으로 교체하는 것입니다. 다음 예에서는 CASE 함수를 사용하여 제품 라인 범주 표시를 이해하기 쉽도록 변경합니다.
USE AdventureWorks2008R2;
GO
SELECT ProductNumber, Category =
CASE ProductLine
WHEN 'R' THEN 'Road'
WHEN 'M' THEN 'Mountain'
WHEN 'T' THEN 'Touring'
WHEN 'S' THEN 'Other sale items'
ELSE 'Not for sale'
END,
Name
FROM Production.Product
ORDER BY ProductNumber;
GO
CASE 함수의 또 다른 용도는 데이터를 범주화하는 것입니다. 다음은 CASE 함수를 사용하여 가격을 범주화하는 쿼리입니다.
USE AdventureWorks2008R2;
GO
SELECT ProductNumber, Name, 'Price Range' =
CASE
WHEN ListPrice = 0 THEN 'Mfg item - not for resale'
WHEN ListPrice < 50 THEN 'Under $50'
WHEN ListPrice >= 50 and ListPrice < 250 THEN 'Under $250'
WHEN ListPrice >= 250 and ListPrice < 1000 THEN 'Under $1000'
ELSE 'Over $1000'
END
FROM Production.Product
ORDER BY ProductNumber ;
GO
자세한 내용은 CASE(Transact-SQL)를 참조하십시오.