কম্পিউটার টিউটোরিয়াল

MySQL-এ টারনারি অপারেটর (C/C++ এর মত) আছে কি?

MySQL-এ C/C++-এর মত ?: টারনারি অপারেটর নেই। কিন্তু CASE WHEN ... THEN ... ELSE ... END এক্সপ্রেশন দিয়ে একই লজিক ইমপ্লিমেন্ট করা যায়।

C/C++ টারনারি অপারেটর উদাহরণ

int result = (X > 1 && (X - Y) < 0) ? X : (X - Y);

MySQL-এ সমতুল্য CASE এক্সপ্রেশন

SELECT CASE 
           WHEN tbl.X > 1 AND (tbl.X - tbl.Y) < 0 THEN 0 
           ELSE (tbl.X - tbl.Y) 
       END AS Result
FROM TernaryOperationDemo tbl;

উদাহরণ দিয়ে বুঝি

টেবিল তৈরি করুন:

mysql> CREATE TABLE TernaryOperationDemo (
    -> X INT,
    -> Y INT
    -> );
Query OK, 0 rows affected (0.61 sec)

রেকর্ড ইনসার্ট করুন:

mysql> INSERT INTO TernaryOperationDemo VALUES(10, 5);
mysql> INSERT INTO TernaryOperationDemo VALUES(5, 15);
mysql> INSERT INTO TernaryOperationDemo VALUES(20, 15);
mysql> INSERT INTO TernaryOperationDemo VALUES(15, 25);
mysql> INSERT INTO TernaryOperationDemo VALUES(10, -11);

সকল রেকর্ড:

mysql> SELECT * FROM TernaryOperationDemo;
+------+------+
| X    | Y    |
+------+------+
|   10 |    5 |
|    5 |   15 |
|   20 |   15 |
|   15 |   25 |
|   10 |  -11 |
+------+------+
5 rows in set (0.00 sec)

CASE এক্সপ্রেশন চালান

mysql> SELECT CASE 
    -> WHEN tbl.X > 1 AND (tbl.X - tbl.Y) < 0 THEN 0 
    -> ELSE (tbl.X - tbl.Y) 
    -> END AS Result 
    -> FROM TernaryOperationDemo tbl;
+--------+
| Result |
+--------+
|      5 |
|      0 |
|      5 |
|      0 |
|     21 |
+--------+
5 rows in set (0.00 sec)

MySQL-এ IF() ফাংশন (সিম্পল টারনারি)

সিম্পল কেসের জন্য IF(condition, true_value, false_value) ব্যবহার করা যায়:

SELECT IF(X > Y, 'X is greater', 'Y is greater or equal') FROM table;

CASE vs IF

ফিচারCASEIF()
বহু শর্তসাপোর্ট করে (WHEN...WHEN...ELSE)সাপোর্ট করে না
ANSI SQL স্ট্যান্ডার্ডহ্যাঁনা (MySQL-স্পেসিফিক)
নেস্টেড ব্যবহারসহজজটিল হয়

সুপারিশ: জটিল লজিকের জন্য CASE ব্যবহার করুন, সিম্পল টু-ওয়ে ব্রাঞ্চের জন্য IF() ব্যবহার করুন।

  1. MySQL-এ LIKE অপারেটরকে IN() এর মতো ব্যবহার করা

  2. MySQL-এ NOT IN ক্লজ ব্যবহার করে নির্দিষ্ট মান বাদ দিয়ে ডেটা বের করা

  3. MySQL-এ টেবিলের অস্তিত্ব যাচাই করা

  4. সি/সি++-এ c=a+++b এক্সপ্রেশনের অর্থ কী?