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

MySQL-এ CASE বা IF() দিয়ে কী-ভ্যালু ম্যাপিং (ENABLED/DISABLED)

MySQL-এ একটি কলামের কোড/কী মান (যেমন ০/১) কে পঠনযোগ্য লেবেল (ENABLED/DISABLED) এ রূপান্তর করতে CASE WHEN বা IF() ফাংশন ব্যবহার করুন।

পদ্ধতি ১: CASE WHEN

SELECT col1, col2, (CASE WHEN yourColumn = 1 THEN 'ENABLED' ELSE 'DISABLED' END) AS Status FROM yourTableName;

পদ্ধতি ২: IF() ফাংশন

SELECT col1, col2, IF(yourColumn, 'ENABLED', 'DISABLED') AS Status FROM yourTableName;

উদাহরণ

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

mysql> create table MapKeys 
    -> ( 
    -> Id int NOT NULL AUTO_INCREMENT, 
    -> Name varchar(20), 
    -> isActive BOOLEAN, 
    -> PRIMARY KEY(Id) 
    -> ); Query OK, 0 rows affected (0.65 sec)

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

mysql> insert into MapKeys(Name,isActive) values('Larry',true); 
mysql> insert into MapKeys(Name,isActive) values('David',false); 
mysql> insert into MapKeys(Name,isActive) values('Mike',true); 
mysql> insert into MapKeys(Name,isActive) values('Carol',false); 
mysql> insert into MapKeys(Name,isActive) values('Sam',false); 
mysql> insert into MapKeys(Name,isActive) values('Bob',true);

সকল রেকর্ড

mysql> select *from MapKeys;

আউটপুট

+----+-------+----------+
| Id | Name  | isActive |
+----+-------+----------+
|  1 | Larry | 1        |
|  2 | David | 0        |
|  3 | Mike  | 1        |
|  4 | Carol | 0        |
|  5 | Sam   | 0        |
|  6 | Bob   | 1        |
+----+-------+----------+

CASE WHEN দিয়ে ম্যাপিং

mysql> SELECT Id, Name, (CASE WHEN isActive = 1 THEN 'ENABLED' ELSE 'DISABLED' END) AS Status FROM MapKeys;

ফলাফল

+----+-------+----------+
| Id | Name  | Status   |
+----+-------+----------+
|  1 | Larry | ENABLED  |
|  2 | David | DISABLED |
|  3 | Mike  | ENABLED  |
|  4 | Carol | DISABLED |
|  5 | Sam   | DISABLED |
|  6 | Bob   | ENABLED  |
+----+-------+----------+

IF() দিয়ে ম্যাপিং (সরল)

mysql> SELECT Id, Name, IF(isActive, 'ENABLED', 'DISABLED') AS Status FROM MapKeys;

ফলাফল

+----+-------+----------+
| Id | Name  | Status   |
+----+-------+----------+
|  1 | Larry | ENABLED  |
|  2 | David | DISABLED |
|  3 | Mike  | ENABLED  |
|  4 | Carol | DISABLED |
|  5 | Sam   | DISABLED |
|  6 | Bob   | ENABLED  
নির্দেশনা: দুটি পদ্ধতিই একই ফলাফল দেয়। IF() সংক্ষিপ্ত, CASE একাধিক শর্তের জন্য উপযোগী।
  1. Java-এ MySQL PreparedStatement দিয়ে SELECT কোয়েরি চালানো

  2. MySQL SELECT কোয়ারিতে এলিয়াস (alias) ব্যবহার করার পদ্ধতি

  3. MySQL-এ নির্দিষ্ট দিন (2010-11-04) থেকে বর্তমান তারিখ পর্যন্ত কোয়েরি নির্বাচন করা

  4. MySQL-এ টেবিলে নেই এমন মানগুলো কোয়েরি করে বের করা (UNION ALL + NOT EXISTS)