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 »

baham 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!