وظيفة 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 التالي العملاء حسب المدينة. ومع ذلك ، إذا كانت City هي NULL ، فقم بالترتيب حسب البلد:
مثال
SELECT CustomerName, City, Country
FROM Customers
ORDER BY
(CASE
WHEN City IS NULL THEN Country
ELSE City
END);