단순 CASE를 사용하면 단일 입력 표현식의 값을 토대로 결과를 반환할 수 있습니다. 일치하는 비교 값이 없을 경우의 기본 결과를 정의할 수 있습니다.
이 도움말에서는 다음 내용을 다룹니다.예
프리미엄 고객을 위해 맞춤설정된 링크를 제공합니다.
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
단순 CASE 작동 방식
단순 CASE 표현식은 다음 요소로 구성됩니다.
- CASE 키워드: 이 뒤에 입력 표현식이 나옵니다.
- WHEN: 입력 표현식을 비교할 값입니다. 값이 입력 표현식과 같으면 이 절은 True입니다. 하나의 CASE 표현식에 여러 WHEN 절이 포함될 수 있습니다.
- THEN: WHEN 절의 조건이 True인 경우 반환할 결과입니다. CASE 표현식에는 각 WHEN 절에 대한 THEN 절이 하나만 있어야 합니다.
- ELSE: 선택사항입니다. WHEN 절 조건 중 True인 조건이 없으면 CASE는 ELSE 절로 값을 반환하며, ELSE 절을 지정하지 않았다면
NULL
을 반환합니다. - END 키워드
CASE는 연속된 각 WHEN 절을 평가하고 조건이 True인 첫 번째 결과를 반환합니다. 나머지 WHEN 절과 ELSE 결과는 평가되지 않습니다. 모든 WHEN 조건이 False 또는 NULL이면 CASE는 ELSE 결과를 반환하고 ELSE 절이 없는 경우 NULL을 반환합니다.
문법
CASE input_expression
WHEN expression_to_match THEN result
[WHEN expression_to_match THEN result]
[...]
[ELSE else_result]
END
매개변수
input_expression
평가할 표현식입니다. 모든 유효한 표현식을 input_expression
으로 사용할 수 있습니다.
WHEN expression_to_match
WHEN 절은 expression_to_match
를 input_expression
과 비교하여 두 값이 같으면 True를, 같지 않으면 False를 반환합니다. 모든 유효한 표현식을 WHEN 절에 사용할 수 있습니다.
THEN result
WHEN 절마다 일치하는 THEN 절이 있어야 해당 조건이 True인 경우 반환되는 결과가 지정됩니다. WHEN 절이 여러 개 있는 경우 CASE 표현식은 첫 번째 True 절에 대한 결과를 반환합니다. 모든 유효한 표현식을 THEN 절에 사용할 수 있습니다.
참고
CASE 표현식의 모든 THEN 절은 동일한 유형의 결과를 반환해야 합니다.
예를 들어 첫 번째 THEN 절이 Text를 반환하는 경우 추가 THEN 절도 Text를 반환해야 합니다.
ELSE else_result
선택사항인 ELSE 절은 기본 결과를 지정합니다. True인 WHEN 절이 없으면 이 결과가 반환됩니다. CASE 표현식에 ELSE 절이 없고 WHEN 절 중에 True인 절이 없으면 NULL
이 반환됩니다. CASE 표현식에는 ELSE 절이 1개만 있을 수 있습니다.
다른 예
하나의 값을 다른 값으로 바꿉니다. 예를 들어 코드를 더 직관적인 이름으로 바꿔서 데이터를 읽기 쉽게 만들 수 있습니다.
CASE Payment Type
WHEN "CC" THEN "Credit Card"
WHEN "D" THEN "Debit Card"
WHEN "GC" THEN "Gift Card"
WHEN "UNK" THEN "Unknown"
ELSE Payment Type
END