MySQL CASE স্টেটমেন্ট হল একটি ফ্লো কন্ট্রোল ফাংশন যা আমাদের একটি কোয়েরির ভিতরে শর্ত তৈরি করতে দেয়, যেমন SELECT বা WHERE ক্লজে। CASE স্টেটমেন্টের দুটি সিনট্যাক্স রয়েছে:
সিনট্যাক্স-১
CASE val WHEN compare_val1 THEN result1 WHEN compare_val2 THEN result2 ... ELSE result END
এই প্রথম সিনট্যাক্সে, যদি val compare_val1 এর সমান হয়, তবে CASE স্টেটমেন্ট result1 ফেরত দেয়। যদি val compare_val2 এর সমান হয়, তবে এটি result2 ফেরত দেয়, এবং כך дале।
যদি val কোনো compare_val-এর সাথে মেলে না, তবে CASE স্টেটমেন্ট ELSE ক্লজে নির্দিষ্ট result ফেরত দেয়।
উদাহরণ
mysql> SELECT CASE 100
-> WHEN 100 THEN 'It is matched'
-> WHEN 200 THEN 'It is not matched'
-> ELSE 'No use of this Number'
-> END AS 'Matching the Number';
+---------------------+
| Matching the Number |
+---------------------+
| It is matched |
+---------------------+
1 row in set (0.06 sec)
সিনট্যাক্স-২
CASE WHEN condition_1 THEN result1 WHEN condition_2 THEN result2 ... ELSE result END
এই দ্বিতীয় সিনট্যাক্সে, CASE স্টেটমেন্ট result1, result2, ইত্যাদি ফেরত দেয় যদি শর্ত সত্য হয়। যদি সব শর্ত মিথ্যা হয়, তবে এটি ELSE ক্লজে নির্দিষ্ট result ফেরত দেয়।
উদাহরণ
mysql> SELECT CASE
-> WHEN (100 = 100) THEN 'It is Matched'
-> WHEN (200 = 100) THEN 'It is Not Matched'
-> ELSE 'No use of Number'
-> END AS 'Matching the Number';
+---------------------+
| Matching the Number |
+---------------------+
| It is Matched |
+---------------------+
1 row in set (0.00 sec)