我们可以借助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); mysql> Insert into set_testing (table) values('1'); mysql> Insert into set_testing (table) values('2'); mysql> Insert into set_testing (table) values('3'); mysql> Insert into set_testing (table) values('4'); 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)