MySQL-এ CAST() দিয়ে BOOL থেকে INTEGER রূপান্তর
MySQL-এ BOOL টাইপ আসলে TINYINT(1)-র সিনোনিম। TRUE=1, FALSE=0 হিসেবে স্টোর হয়। এক্সপ্লিসিটলি INT-এ কনভার্ট করতে CAST() ব্যবহার করা যায়।
সিনট্যাক্স
SELECT CAST(boolColumn = 1 AS SIGNED INTEGER) FROM yourTableName;
উদাহরণ সহ ব্যাখ্যা
টেবিল তৈরি (BOOL কলাম):
mysql> CREATE TABLE convertBoolToIntDemo (isYoung BOOL);
টেবিল ডেসক্রিপশন (আন্তরিকভাবে TINYINT):
mysql> DESC convertBoolToIntDemo;
+--------------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------------+-------------+------+-----+---------+-------+ | isYoung | tinyint(1) | YES | | NULL | | +--------------+-------------+------+-----+---------+-------+
ডেটা ইনসার্ট:
mysql> INSERT INTO convertBoolToIntDemo VALUES(TRUE), (FALSE), (TRUE), (FALSE);
র キャスト (BOOL=1 চেক করে SIGNED INT):
mysql> SELECT CAST(isYoung = 1 AS SIGNED INTEGER) FROM convertBoolToIntDemo;
+-----------------------------------+ | cast(isYoung=1 AS SIGNED INTEGER) | +-----------------------------------+ | 1 | | 0 | | 1 | | 0 | +-----------------------------------+
নোট: MySQL-এ BOOL, BOOLEAN হলো TINYINT(1)-র অ্যালিয়াস। সরাসরি গাণিতিক অপারেশনেও ০/১ হিসেবে কাজ করে।