数组=值在哪里?

时间:2018-11-01 00:09:29

标签: mysql sql

在没有给出适当方案的情况下很难问这个问题,所以就到这里。我有一个MySQL数据库表,其中的字段存储数字数组。像这样...

id - values
1  - 1,2,3

我需要对此进行查询。喜欢...

select * from table where values = 3

如何做到这一点?

如果已回答,请指出答案,因为我找不到它。

请注意,这是纯MySQL

2 个答案:

答案 0 :(得分:1)

您可以尝试使用FIND_IN_SET函数。

CREATE TABLE `table`(
  id int,
  `values` varchar(50)
);


 insert into `table` values (1 ,'1,2,3');

查询1

select * from `table` where FIND_IN_SET('3',`values`) 

Results

| id | values |
|----|--------|
|  1 |  1,2,3 |

答案 1 :(得分:0)

您可以使用这样的正则表达式:

SELECT * FROM `table` WHERE `values` RLIKE '(^|,)3($|,)'