MySQL 如何将MySQL SET列作为整数偏移量的列表获取?
我们可以使用MAKE_SET()函数将MySQL SET列的值作为整数偏移量的列表抓取。为了让它理解,我们创建一个名为’set_testing’的表如下 −
mysql> Create table set_testing( id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT, table SET('ABC','ABD','GHF') NOT NULL);
Query OK, 0 rows affected (0.08 sec)
mysql> Insert into set_testing (table) values('1');
Query OK, 1 row affected (0.06 sec)
mysql> Insert into set_testing (table) values('2');
Query OK, 1 row affected (0.06 sec)
mysql> Insert into set_testing (table) values('3');
Query OK, 1 row affected (0.02 sec)
mysql> Insert into set_testing (table) values('4');
Query OK, 1 row affected (0.02 sec)
mysql> Select * from set_testing;
+----+---------+
| id | table |
+----+---------+
| 1 | ABC |
| 2 | ABD |
| 3 | ABC,ABD |
| 4 | GHF |
+----+---------+
4 rows in set (0.00 sec)
现在,以下查询将MySQL SET列作为整数偏移量的列表提取 –
mysql> Select MAKE_SET(types+0,'1','2','3') as output from doctypes1;
+--------+
| output |
+--------+
| 1 |
| 2 |
| 1,2 |
| 3 |
+--------+
4 rows in set (0.00 sec)
阅读更多:MySQL 教程