CASE(SQL Server Compact)

조건 목록을 평가하고 가능한 여러 결과 식 중 하나를 반환합니다.

CASE에는 다음 두 형식이 있습니다.

  • 단순 CASE 함수는 식을 단순 식 집합과 비교하여 결과를 결정합니다.

  • 검색된 CASE 함수는 부울 식 집합을 평가하여 결과를 결정합니다.

두 가지 형식 모두 선택 사항인 ELSE 인수를 지원합니다.

구문

CASE input_expression 
    WHEN when_expression THEN result_expression 
        [ ...n ] 
    [ 
        ELSE else_result_expression 
    ] 
END 

CASE
    WHEN Boolean_expression THEN result_expression 
        [ ...n ] 
    [ 
        ELSE else_result_expression 
    ] 
END

인수

  • input_expression
    단순 CASE 형식을 사용하는 경우 평가한 식입니다. input_expression 인수는 Microsoft SQL Server Compact의 모든 유효한 식입니다.

  • WHEN when_expression
    단순 CASE 형식을 사용하는 경우 input_expression과 비교하는 단순 식입니다. when_expression 인수는 SQL Server의 모든 유효한 식입니다. input_expression 및 각 when_expression의 데이터 형식은 같거나 암시적으로 변환되어야 합니다.

  • n
    여러 개의 WHEN when_expression THEN result_expression 절 또는 여러 개의 WHEN Boolean_expression THEN result_expression 절을 사용할 수 있음을 나타내는 자리 표시자입니다.

  • THEN result_expression
    input_expression이 when_expression과 같음이 TRUE로 평가되거나 Boolean_expression이 TRUE로 평가될 때 반환되는 식입니다. result expression 인수는 모든 유효한 SQL Server 식입니다.

  • ELSE else_result_expression
    TRUE로 평가된 비교 연산이 없는 경우 반환되는 식입니다. 이 인수가 생략되고 TRUE로 평가된 비교 연산이 없는 경우 CASE는 NULL을 반환합니다. else_result_expression 인수는 모든 유효한 SQL Server 식입니다. else_result_expression 및 모든 result_expression의 데이터 형식은 같거나 암시적으로 변환되어야 합니다.

  • WHEN Boolean_expression
    검색된 CASE 형식을 사용할 때 평가되는 부울 식입니다. Boolean_expression은 유효한 모든 부울 식입니다.

결과 형식

result_expressions 및 옵션 else_result_expression의 형식 집합에서 우선 순위가 가장 높은 형식을 반환합니다.

다음 예는 주문에 사용된 배송 모드를 반환합니다.

SELECT [Ship Via], CASE [Ship Via]
    WHEN 1 THEN 'A.Datum'
    WHEN 2 THEN 'Contoso'
    WHEN 3 THEN 'Consolidated Messenger'
        ELSE 'Unknown'
        END
FROM Orders