MySQL CASE 함수
예시
조건을 살펴보고 첫 번째 조건이 충족되면 값을 반환합니다.
SELECT OrderID, Quantity,
CASE
WHEN Quantity > 30
THEN "The quantity is greater than 30"
WHEN Quantity =
30 THEN "The quantity is 30"
ELSE "The quantity is
under 30"
END
FROM OrderDetails;
정의 및 사용
CASE 문은 조건을 통과하고 첫 번째 조건이 충족될 때 값을 반환합니다(IF-THEN-ELSE 문과 같이). 따라서 조건이 true이면 읽기를 중지하고 결과를 반환합니다.
조건이 참이 아니면 ELSE 절의 값을 반환합니다.
ELSE 부분이 없고 조건이 참이 아니면 NULL을 반환합니다.
통사론
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
WHEN
conditionN THEN resultN
ELSE result
END;
매개변수 값
Parameter | Description |
---|---|
condition1, condition2, ...conditionN | Required. The conditions. These are evaluated in the same order as they are listed |
result1, result2, ...resultN | Required. The value to return once a condition is true |
기술적 세부 사항
작동: | MySQL 4.0에서 |
---|
더 많은 예
다음 SQL은 City별로 고객을 주문합니다. 그러나 City가 NULL이면 국가별로 주문하십시오.
예시
SELECT CustomerName, City, Country
FROM Customers
ORDER BY
(CASE
WHEN City IS NULL THEN Country
ELSE City
END);