根据数组中的项目进行选择

时间:2011-08-17 16:03:37

标签: mysql database arrays

我正在寻找一个mySQL命令来根据数组字段是否包含该数组的特定项来选择行。

1 个答案:

答案 0 :(得分:0)

不确定是否要查找存储在数据库中的数组中的项目,或者您想查找与数组中的项目匹配的所有行。

对于前者(鉴于MySQL本身不支持数组类型,我假设你正在做一些事情来将数据序列化为字符串列等):

SELECT [columns] FROM [table] WHERE [array_column] LIKE "%{separator}[test_value]{separator}%"; 
e.g. SELECT * FROM my_table WHERE values_list LIKE "%|5|%";

将执行该任务(其中分隔符是您用于分隔存储在字符串列中的值的任何字符 - 例如,给定数组[0,5,10,15]和分隔符“|”,序列化字符串将是“| 0 | 5 | 10 | 15 |”)

对于第二种情况:

SELECT [columns] FROM [table] WHERE [test_column] IN (list, of, some, values);
e.g. SELECT * FROM my_table WHERE my_value IN (0, 5, 10, 15);