ฟังก์ชัน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) ดังนั้น เมื่อเงื่อนไขเป็นจริง เงื่อนไขนั้นจะหยุดอ่านและส่งคืนผลลัพธ์
หากไม่มีเงื่อนไขใดเป็นจริง ระบบจะคืนค่าในส่วนคำสั่ง 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 ต่อไปนี้จะสั่งซื้อลูกค้าตามเมือง อย่างไรก็ตาม หากเมืองเป็น NULL ให้เรียงลำดับตามประเทศ:
ตัวอย่าง
SELECT CustomerName, City, Country
FROM Customers
ORDER BY
(CASE
WHEN City IS NULL THEN Country
ELSE City
END);