Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

ฟังก์ชันควบคุมโฟลว์ CASE ใน MySQL ทำงานอย่างไร?

คำสั่ง CASE ของ MySQL เป็นฟังก์ชันควบคุมโฟลว์ที่ช่วยให้เราสร้างเงื่อนไขภายในคำสั่งคิวรี เช่น 子句 SELECT หรือ WHERE เรามีรูปแบบไวยากรณ์ของคำสั่ง CASE 2 แบบ

รูปแบบที่ 1

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

ในรูปแบบแรกนี้ หาก val เท่ากับ compare_val1 คำสั่ง CASE จะคืนค่า result1 หาก val เท่ากับ compare_val2 จะคืนค่า result2 และทำต่อไปเช่นนี้

ในกรณีที่ val ไม่ตรงกับ compare_val ใดๆ คำสั่ง CASE จะคืนค่า result ที่ระบุในคลอส 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 จะคืนค่า result ที่ระบุในคลอส 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)