কম্পিউটার

কিভাবে MYSQL কন্ট্রোল ফ্লো ফাংশন CASE কাজ করে?


MySQL CASE স্টেটমেন্ট হল একটি ফ্লো কন্ট্রোল ফাংশন যা আমাদেরকে SELECT বা WHERE ক্লজের মতো একটি প্রশ্নের ভিতরে শর্ত তৈরি করতে দেয়। আমাদের কাছে CASE স্টেটমেন্টের দুটি সিনট্যাক্স আছে

সিনট্যাক্স-1

CASE val
WHEN compare_val1 THEN result1
WHEN compare_val2 THEN result2
.
.
.
Else result
END

এখানে এই 1ম সিনট্যাক্সে, যদি ভ্যালটি compare_val1 এর সমান হয় তারপর CASE বিবৃতি ফলাফল1 প্রদান করে . যদি ভ্যালটি compare_val2 এর সমান হয় তারপর CASE বিবৃতি ফলাফল2 প্রদান করে ইত্যাদি।

যদি val কোনো compare_val এর সাথে মেলে না তাহলে CASE বিবৃতি ফলাফল প্রদান করে ELSE-এ উল্লেখ করা হয়েছে ধারা।

উদাহরণ

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)

সিনট্যাক্স-2

CASE
WHEN condition_1 THEN result1
WHEN condition_2 THEN result2
.
.
.
Else result
END

এখানে এই ২য় সিনট্যাক্সে, CASE বিবৃতিটি ফলাফল1, ফলাফল2, ইত্যাদি প্রদান করে . যদি শর্ত সত্য হয়। যদি সমস্ত শর্ত মিথ্যা হয় তবে CASE বিবৃতি ফলাফল প্রদান করে ELSE-এ উল্লেখ করা হয়েছে ধারা।

উদাহরণ

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)

  1. কিভাবে MySQL CASE এক্সপ্রেশনে "OR" শর্ত ব্যবহার করবেন?

  2. কিভাবে str_to_date() MySQL ফাংশনে কিছু দিন যোগ করবেন?

  3. কিভাবে MySQL ফাংশন থেকে টেবিল ফেরত?

  4. MySQL এর SLEEP() ফাংশন কি একটি ব্যস্ত-অপেক্ষা? কিভাবে এটি বাস্তবায়ন?