CASE 사용

CASE 식은 여러 조건을 평가하고 각 조건에 대해 단일 값을 반환하는 데 사용됩니다. 예를 들어 열 값에 따라 대체 값을 표시할 수 있습니다. 이러한 데이터 변경은 일시적이며 데이터가 영구적으로 변경되는 것은 아닙니다.

CASE 식은 다음으로 구성됩니다.

  • CASE 키워드
  • 변환할 열 이름
  • 검색할 식을 지정하는 WHEN 절 및 이를 바꿀 식을 지정하는 THEN 절
  • TRUE로 평가된 비교 연산이 없는 경우 반환되는 식을 정의하는 ELSE 절(옵션)
  • END 키워드
  • CASE 식의 별칭을 정의하는 AS 절(옵션)

CASE 식의 일반적인 용도는 코드나 약어를 읽기 쉬운 값으로 바꾸는 것입니다. 다음 예에서는 CASE 함수를 사용하여 제품 라인 범주 표시를 이해하기 쉽게 변경합니다.

USE AdventureWorks;
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 AdventureWorks;
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)를 참조하십시오.

참고 항목

관련 자료

CASE(Transact-SQL)
NULLIF(Transact-SQL)
COALESCE(Transact-SQL)

도움말 및 정보

SQL Server 2005 지원 받기