MySQL CASE ထုတ်ပြန်ချက်
MySQL CASE ထုတ်ပြန်ချက်
ထုတ်ပြန်ချက်သည် အခြေအနေများကိုဖြတ်သန်းပြီး ပထမ CASE
အခြေအနေနှင့်ကိုက်ညီသောအခါ (if-then-else ဖော်ပြချက်ကဲ့သို့) တန်ဖိုးတစ်ခုပြန်ပေးသည်။ ထို့ကြောင့်၊ အခြေအနေတစ်ခုမှန်သည်နှင့်၊ ၎င်းသည်ဖတ်ခြင်းကိုရပ်ပြီးရလဒ်ကိုပြန်ပေးလိမ့်မည်။ အခြေအနေများ မှန်ကန်ပါက၊ ၎င်းသည် ELSE
clause အတွင်းရှိ တန်ဖိုးကို ပြန်ပေးသည်။
ELSE
အပိုင်းမရှိ၍ အခြေအနေများ မှန်ကန်ပါက၊ ၎င်းသည် NULL သို့ ပြန်သွားမည်ဖြစ်သည် ။
Case Syntax
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
WHEN
conditionN THEN resultN
ELSE result
END;
ဒီမိုဒေတာဘေ့စ်
အောက်တွင်ဖော်ပြထားသည်မှာ Northwind နမူနာဒေတာဘေ့စ်ရှိ "OrderDetails" ဇယားမှ ရွေးချယ်မှုတစ်ခုဖြစ်သည်။
OrderDetailID | OrderID | ProductID | Quantity |
---|---|---|---|
1 | 10248 | 11 | 12 |
2 | 10248 | 42 | 10 |
3 | 10248 | 72 | 5 |
4 | 10249 | 14 | 9 |
5 | 10249 | 51 | 40 |
MySQL CASE နမူနာများ
အောက်ပါ SQL သည် အခြေအနေများကိုဖြတ်သန်းပြီး ပထမအခြေအနေနှင့်ကိုက်ညီသောအခါ တန်ဖိုးတစ်ခုပြန်ပေးသည်-
ဥပမာ
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 AS QuantityText
FROM OrderDetails;
အောက်ပါ SQL သည် ဖောက်သည်များကို City မှ မှာယူမည်ဖြစ်သည်။ သို့သော်လည်း City သည် NULL ဖြစ်ပါက နိုင်ငံအလိုက် အမိန့်ပေးသည်-
ဥပမာ
SELECT CustomerName, City, Country
FROM Customers
ORDER BY
(CASE
WHEN City IS NULL THEN Country
ELSE City
END);