MySQL-এ বুলিয়ান কলামগুলো আসলে ১ (TRUE) এবং ০ (FALSE) হিসেবে সংরক্ষিত হয়। একাধিক বুলিয়ান কলামের যোগফল নিয়ে শর্ত দেওয়া যায়।
টেবিল তৈরি এবং ডেটা ইনসার্ট
mysql> CREATE TABLE DemoTable (
-> IsMarried BOOLEAN,
-> IsActive BOOLEAN,
-> IsMember BOOLEAN,
-> IsOn BOOLEAN
-> );
Query OK, 0 rows affected (0.61 sec)
mysql> INSERT INTO DemoTable VALUES(TRUE, FALSE, TRUE, FALSE); mysql> INSERT INTO DemoTable VALUES(FALSE, FALSE, FALSE, FALSE); mysql> INSERT INTO DemoTable VALUES(TRUE, TRUE, TRUE, TRUE); mysql> INSERT INTO DemoTable VALUES(TRUE, FALSE, FALSE, TRUE);
সব রেকর্ড দেখানো
mysql> SELECT * FROM DemoTable;
আউটপুট
+-----------+----------+-----------+------+ | IsMarried | IsActive | IsMember | IsOn | +-----------+----------+-----------+------+ | 1 | 0 | 1 | 0 | | 0 | 0 | 0 | 0 | | 1 | 1 | 1 | 1 | | 1 | 0 | 0 | 1 | +-----------+----------+-----------+------+ 4 rows in set (0.00 sec)
৩ বা ততোধিক TRUE মান থাকা রো বের করা
mysql> SELECT * FROM DemoTable WHERE IsMarried + IsActive + IsMember + IsOn >= 3;
আউটপুট
+-----------+----------+-----------+------+ | IsMarried | IsActive | IsMember | IsOn | +-----------+----------+-----------+------+ | 1 | 1 | 1 | 1 | +-----------+----------+-----------+------+ 1 row in set (0.00 sec)
ব্যাখ্যা: MySQL-এ TRUE = 1, FALSE = 0। চারটি কলামের যোগফল ৩ বা তার বেশি হলে মানে কমপক্ষে ৩টি কলাম TRUE। এই কোয়েরি শুধু ৪था রো (সকল TRUE) রিটার্ন করে।
নোট: যদি কলামগুলো TINYINT(1) না হয়ে ভিন্ন টাইপ হয়, তবে CAST(col AS UNSIGNED) ব্যবহার করতে হয়।