다음을 통해 공유


CHOOSE(Transact-SQL)

SQL Server 2012의 값 목록에서 지정된 인덱스에 있는 항목을 반환합니다.

항목 링크 아이콘 Transact-SQL 구문 표기 규칙

구문

CHOOSE ( index, val_1, val_2 [, val_n ] )

인수

  • index
    index 인수 다음에 나오는 항목 목록에 대한 1부터 시작하는 인덱스를 나타내는 정수 식입니다.

    int 이외의 숫자 데이터 형식으로 된 인덱스 값을 제공할 경우 값이 암시적으로 정수로 변환됩니다. 인덱스 값이 값 배열 한계를 초과하면 CHOOSE는 Null을 반환합니다.

  • val_1 … val_n
    임의의 데이터 형식으로 된 쉼표로 구분된 값 목록입니다.

반환 형식

함수에 전달된 형식 집합 중에서 우선 순위가 가장 높은 데이터 형식을 반환합니다. 자세한 내용은 데이터 형식 우선 순위(Transact-SQL)를 참조하십시오.

주의

CHOOSE는 배열에서 인덱스와 같은 역할을 하며 배열은 index 인수 다음에 나오는 인수로 구성됩니다. index 인수는 다음 중 반환될 값을 결정합니다.

다음 예에서는 제공된 값 목록에서 세 번째 항목을 반환합니다.

SELECT CHOOSE ( 3, 'Manager', 'Director', 'Developer', 'Tester' ) AS Result;

결과 집합은 다음과 같습니다.

Result
-------------
Developer

(1 row(s) affected)

다음 예제에서는 ProductCategoryID 열의 값에 따라 간단한 문자열을 반환합니다.

USE AdventureWorks2012;
GO
SELECT ProductCategoryID, CHOOSE (ProductCategoryID, 'A','B','C','D','E') AS Expression1
FROM Production.ProductCategory;

결과 집합은 다음과 같습니다.

ProductCategoryID Expression1
----------------- -----------
3                 C
1                 A
2                 B
4                 D

(4 row(s) affected)

다음 예제에서는 직원이 고용된 분기를 반환합니다. MONTH 함수는 HireDate 열에서 월 값을 반환합니다.

USE AdventureWorks2012;
GO
SELECT JobTitle, HireDate, CHOOSE(MONTH(HireDate),'Winter','Winter', 'Spring','Spring','Spring','Summer','Summer', 
                                                  'Summer','Autumn','Autumn','Autumn','Winter') AS Quarter_Hired
FROM HumanResources.Employee
WHERE  YEAR(HireDate) > 2005
ORDER BY YEAR(HireDate); 

결과 집합은 다음과 같습니다.

JobTitle                                           HireDate   Quarter_Hired
-------------------------------------------------- ---------- -------------
Sales Representative                               2006-11-01 Autumn
European Sales Manager                             2006-05-18 Spring
Sales Representative                               2006-07-01 Summer
Sales Representative                               2006-07-01 Summer
Sales Representative                               2007-07-01 Summer
Pacific Sales Manager                              2007-04-15 Spring
Sales Representative                               2007-07-01 Summer

참고 항목

참조

IIF(Transact-SQL)