CASE (simple)
단순 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_expression을input_expression과 비교하여 두 값이 같으면 true를, 같지 않으면 false를 반환합니다.]{#when-conditions} result: 유효한 필드 또는 표현식 각WHEN절에는 일치하는THEN절이 있어야 합니다. 이 절은 해당 조건이 참인 경우 반환할 결과를 지정합니다.WHEN절이 여러 개 있는 경우CASE문은 첫 번째 참인 절에 대한 결과를 반환합니다.else_result(선택사항) - 유효한 필드 또는 표현식ELSEelse_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절 조건 중 참인 조건이 없으면CASE는ELSE절로 값을 반환하며,ELSE절을 지정하지 않았다면NULL을 반환합니다.END키워드
CASE는 연속된 각 WHEN 절을 평가하고 조건이 참인 첫 번째 결과를 반환합니다. 나머지 WHEN 절과 ELSE 결과는 평가되지 않습니다. 모든 WHEN 조건이 거짓이거나 NULL이면 CASE는 ELSE 결과를 반환하고, 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