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

ในไวยากรณ์ที่ 1 นี้ หาก val เท่ากับ compare_val1 จากนั้นคำสั่ง CASE จะส่งกลับ result1 . หากวาลมีค่าเท่ากับ compare_val2 จากนั้นคำสั่ง CASE จะส่งกลับ result2 เป็นต้น

ในกรณีที่ค่าไม่ตรงกับค่าเปรียบเทียบใดๆ คำสั่ง 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

ในไวยากรณ์ที่ 2 นี้ คำสั่ง 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)