Search for SET values using the LIKE operator : Set « Data Types « MySQL Tutorial






SELECT * FROM tbl_name WHERE set_col LIKE '%value%';

mysql>
mysql>
mysql> CREATE TABLE myset (col SET('a', 'b', 'c', 'd'));
Query OK, 0 rows affected (0.03 sec)

mysql> INSERT INTO myset (col) VALUES ('a,d'),
    ->                                ('d,a'),
    ->                                ('a,d,a'),
    ->                                ('a,d,d'),
    ->                                ('d,a,d');
Query OK, 5 rows affected (0.00 sec)
Records: 5  Duplicates: 0  Warnings: 0

mysql> SELECT col FROM myset;
+------+
| col  |
+------+
| a,d  |
| a,d  |
| a,d  |
| a,d  |
| a,d  |
+------+
5 rows in set (0.00 sec)

mysql>
mysql> select * from myset where col like '%a%';
+------+
| col  |
+------+
| a,d  |
| a,d  |
| a,d  |
| a,d  |
| a,d  |
+------+
5 rows in set (0.00 sec)

mysql>
mysql> drop table myset;
Query OK, 0 rows affected (0.01 sec)

mysql>








10.19.Set
10.19.1.SET Type
10.19.2.SET column type
10.19.3.Using the SET type
10.19.4.If you set a SET column to an unsupported value, the value is ignored and a warning is issued
10.19.5.Search for SET values using the FIND_IN_SET() function
10.19.6.Search for SET values using the LIKE operator
10.19.7.Looking for values containing the first set member
10.19.8.MySQL stores SET and ENUM as numbers
10.19.9.Looking for an exact match in a set column