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একাধিক শর্তের জন্য উপযোগী।