CASE
Misol
Shartlardan o‘ting va birinchi shart bajarilganda qiymatni qaytaring:
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;
O‘zingiz sinab ko‘ring »
Ta’rif va qo‘llanilishi
CASE buyrug‘i shartlarni ketma-ket ko‘rib chiqadi va birinchi shart bajarilganda qiymat qaytaradi (IF-THEN-ELSE buyrug‘i kabi). Ya’ni, biror shart rost bo‘lishi bilan u o‘qishni to‘xtatadi va natijani qaytaradi.
Hech qanday shart to‘g‘ri bo‘lmasa, u ELSE bandidagi qiymatni qaytaradi.
Agar ELSE qismi bo‘lmasa va birorta shart bajarilmasa, NULL qaytariladi.
Sintaksis
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
WHEN
conditionN THEN resultN
ELSE result
END;
Parametr qiymatlari
| Parametr | Tavsif |
|---|---|
| condition1, condition2, ...conditionN | Majburiy. Shartlar. Ular ro‘yxatga olingan tartibda baholanadi |
| result1, result2, ...resultN | Majburiy. Shart rost bo‘lganda qaytariladigan qiymat |
Texnik tafsilotlar
| Qo‘llab-quvvatlaydigan tizimlar: | MySQL 4.0 versiyasidan boshlab |
|---|
Ko‘proq misollar
Quyidagi SQL mijozlarga shahar bo‘yicha tartib beradi. Biroq, agar City NULL bo‘lsa, mamlakat bo‘yicha tartib bering:
Misol
SELECT CustomerName, City, Country
FROM Customers
ORDER BY
(CASE
WHEN City IS NULL THEN Country
ELSE City
END);
O‘zingiz sinab ko‘ring »
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
