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

MySQL-এ BOOLEAN কলাম থেকে জেন্ডার (Male/Female) স্ট্রিং বের করা

MySQL-এ BOOLEAN টাইপ আসলে TINYINT(1) (০ বা ১)। এটিকে IF() ফাংশন ব্যবহার করে 'MALE'/'FEMALE' স্ট্রিং-এ রূপান্তর করা যায়।

উদাহরণ: টেবিল তৈরি এবং ডেটা ইনসার্ট

mysql> create table DemoTable815(Gender BOOLEAN); 
Query OK, 0 rows affected (0.84 sec)
mysql> insert into DemoTable815 values(true); 
Query OK, 1 row affected (0.18 sec) 
mysql> insert into DemoTable815 values(false); 
Query OK, 1 row affected (0.16 sec) 
mysql> insert into DemoTable815 values(false); 
Query OK, 1 row affected (0.15 sec) 
mysql> insert into DemoTable815 values(true); 
Query OK, 1 row affected (0.16 sec)

সকল রেকর্ড দেখানো (রorganisation 저장: ১/০)

mysql> select * from DemoTable815;
+--------+
| Gender |
+--------+
| 1      |
| 0      |
| 0      |
| 1      |
+--------+
4 rows in set (0.00 sec)

IF দিয়ে স্ট্রিং-এ রূপান্তর

mysql> select if(Gender=true,'MALE','FEMALE') AS String from DemoTable815;
+--------+
| String |
+--------+
| MALE   |
| FEMALE |
| FEMALE |
| MALE   |
+--------+
4 rows in set (0.00 sec)

ব্যাখ্যা

  • Gender=true - বুলিয়ান এক্সপ্রেশন (১ = true, ০ = false)
  • IF(condition, true_val, false_val) - শর্ত সত্য হলে প্রথম মান, মিথ্যা হলে দ্বিতীয় মান
  • AS String - কলামের এলিয়াস

বিকল্প পদ্ধতি

  • CASE WHEN Gender THEN 'MALE' ELSE 'FEMALE' END - স্ট্যান্ডার্ড SQL
  • ELT(Gender+1, 'FEMALE', 'MALE') - ১-ভিত্তিক ইনডেক্সিং (১→FEMALE, ২→MALE)
  • IF(Gender=1, 'MALE', 'FEMALE') - স্পষ্ট তুলনা

বेहতর ডিজাইন: ENUM ব্যবহার করুন

BOOLEAN-এর বদলে ENUM('MALE','FEMALE','OTHER') ব্যবহার করলে:

  • ডেটা স্বয়ংক্রিয়ভাবে ভ্যালিডেট হয়
  • স্টোরেজ কম লাগে (১-২ বাইট)
  • রিপোর্টিং-এ সরাসরি মান পাওয়া যায়
  • ইনডেক্সিং দ্রুত হয়
CREATE TABLE Users (
    Gender ENUM('MALE','FEMALE','OTHER') NOT NULL
);
  1. Windows-এ MySQL টেবিল ডেটা কোথায় সংরক্ষিত থাকে?

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

  3. MySQL-এ EXTRACT() দিয়ে মাস অনুযায়ী মান যোগফল করা

  4. MySQL-এ ইউজার-ডিফাইনড ভেরিয়েবল (@) ও CONCAT_WS() ব্যবহার করে রেজাল্ট টেবিলে দেখানো