Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

MYSQL 제어 흐름 기능 CASE는 어떻게 작동합니까?


MySQL CASE 문은 SELECT 또는 WHERE 절과 같은 쿼리 내부에 조건을 작성할 수 있는 흐름 제어 기능입니다. CASE 문에는 두 가지 구문이 있습니다.

구문-1

CASE val
WHEN compare_val1 THEN result1
WHEN compare_val2 THEN result2
.
.
.
Else result
END

여기 이 첫 번째 구문에서 val이 compare_val1과 같으면 CASE 문은 result1을 반환합니다. . val이 compare_val2와 같은 경우 CASE 문은 result2를 반환합니다. 등등.

val이 compare_val과 일치하지 않는 경우 CASE 문은 결과를 반환합니다. ELSE에 지정됨 조항.

mysql> Select CASE 100
    -> WHEN 100 THEN 'It is matched'
    -> WHEN 200 THEN 'It is not matched'
    -> ELSE 'No use of this Number'
    -> END as 'Matching the Number';
+---------------------+
| Matching the Number |
+---------------------+
| It is matched       |
+---------------------+
1 row in set (0.06 sec)
와 일치합니다.

구문-2

CASE
WHEN condition_1 THEN result1
WHEN condition_2 THEN result2
.
.
.
Else result
END

여기 이 두 번째 구문에서 CASE 문은 result1, result2 등을 반환합니다. . 조건이 참인 경우. 모든 조건이 거짓인 경우 CASE 문은 결과를 반환합니다. ELSE에 지정됨 조항.

예시

mysql> Select CASE
    -> WHEN (100 = 100) THEN 'It is Matched'
    -> WHEN (200 = 100) Then 'It is Not Matched'
    -> Else 'No use of Number'
    -> END as 'Matching the Number';
+---------------------+
| Matching the Number |
+---------------------+
| It is Matched       |
+---------------------+
1 row in set (0.00 sec)