我們如何將 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)

更新日期: 22-6 月-2020

325 次瀏覽

開啟你的職業生涯

透過完成課程獲得認證

開始
廣告
© . All rights reserved.