Syntax error Can we use IN() to search between comma separated values within one field?

Can we use IN() to search between comma separated values within one field?



Instead of IN(), use FIND_IN_SET to search between comma separated values within one field. Let us first create a table −

mysql> create table DemoTable
   -> (
   -> ListOfValues text
   -> );
Query OK, 0 rows affected (0.56 sec)

Insert some records in the table using insert command −

mysql> insert into DemoTable values('10|20|30|40|50|60|100');
Query OK, 1 row affected (0.18 sec)

Display all records from the table using select statement −

mysql> select *from DemoTable;

This will produce the following output −

+-----------------------+
| ListOfValues          |
+-----------------------+
| 10|20|30|40|50|60|100 |
+-----------------------+
1 row in set (0.00 sec)

Following is the query to search between comma separated values within one field −

mysql> select FIND_IN_SET(100, replace(ListOfValues,'|',',')) from DemoTable;

This will produce the following output −

+-------------------------------------------------+
| FIND_IN_SET(100, replace(ListOfValues,'|',',')) |
+-------------------------------------------------+
|                                               7 |
+-------------------------------------------------+
1 row in set (0.04 sec)
Updated on: 2019-07-30T22:30:26+05:30

164 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements