CASE (단순)

단순 CASE는 단일 입력 표현식의 값을 기반으로 결과를 반환하거나, 비교 값이 일치하지 않는 경우 기본 결과를 반환합니다.

참고: IF

사용 예시

결제 코드를 직관적인 이름으로 바꿉니다.

    CASE Payment Type
        WHEN "CC" THEN "Credit Card"
        WHEN "DC" THEN "Debit Card"
        WHEN "GC" THEN "Gift Card"
        WHEN "CA" THEN "Cash"
        ELSE "Other"
    END

구문

    CASE input_expression
        WHEN expression_to_match THEN result
        [WHEN expression_to_match THEN result]
        [...]
        [ELSE else_result]
    END

매개변수

  • input_expression: 유효한 필드 또는 표현식
  • [expression_to_match - 유효한 필드 또는 표현식 WHEN 절은 input_expressioninput_expression와 비교하여 두 값이 같으면 true를, 같지 않으면 false를 반환합니다.]{#when-conditions}
  • result : 유효한 필드 또는 표현식 각 WHEN 절에는 일치하는 THEN 절이 있어야 합니다. 이 절은 해당 조건이 참인 경우 반환할 결과를 지정합니다. WHEN 절이 여러 개 있는 경우 CASE 문은 첫 번째 참인 절에 대한 결과를 반환합니다.
  • else_result (선택사항): 유효한 필드 또는 표현식 ELSE else_result 절은 CASE 문의 기본 결과를 지정합니다. WHEN 절 중 참인 절이 없으면 이 절이 반환됩니다. CASE 문에 ELSE 절이 없고 WHEN 절 중에 참인 절이 없으면 CASE 문에 NULL이 반환됩니다.

간단한 CASE 작동 방식

간단한 CASE 문은 다음 요소로 구성됩니다.

  • CASE 키워드: 이 뒤에 입력 표현식이 나옵니다.
  • WHEN: input_expression를 비교할 값입니다. 값이 input_expression와 같으면 이 절은 참입니다. 하나의 CASE 문에 여러 개의 WHEN 절이 있을 수 있습니다.
  • THEN : WHEN 절의 조건이 참인 경우 반환되는 결과입니다. CASE 문에는 각 WHEN 절에 대한 THEN 절이 하나 있어야 합니다.
  • ELSE : 선택사항입니다. WHEN 절 조건 중 참인 조건이 없으면 CASEELSE 절로 값을 반환하며, ELSE 절을 지정하지 않았다면 NULL을 반환합니다.
  • END 키워드

CASE는 연속된 각 WHEN 절을 평가하고 조건이 참인 첫 번째 결과를 반환합니다. 나머지 WHEN 절과 ELSE 결과는 평가되지 않습니다. 모든 WHEN 조건이 거짓이거나 NULL이면 CASEELSE 결과를 반환하고, ELSE 절이 없는 경우 NULL을 반환합니다.

예시

프리미엄 고객을 위해 맞춤설정된 링크를 제공합니다.

    CASE Premium Status
        WHEN "Platinum" THEN CONCAT(Site URL, "platinum_welcome.html")
        WHEN "Gold" THEN CONCAT(Site URL, "gold_welcome.html")
        WHEN "Silver" THEN CONCAT(Site URL, "silver_welcome.html")
        ELSE CONCAT(Site URL, "welcome.html")
    END