如何使用mysql在数组中搜索值?

时间:2018-02-16 05:16:36

标签: mysql

我有一个列以数组形式存储值,如下所示

  

table_name:records

     

column_name:数据样本

     

第1行:['John','Adam','Mike']

我正在尝试应用类似下面的查询

SELECT * FROM records WHERE data IN('Adam');

找到0结果。

2 个答案:

答案 0 :(得分:0)

带有一个参数的IN子句与WHERE data = 'Adam'基本相同,用于搜索确切的值。 由于您的行包含与Adam不同的字符串,因此不会返回任何结果。 对您的情况的查询应该是这样的:

SELECT * FROM records WHERE data LIKE '%Adam%';

答案 1 :(得分:0)

如果您使用JSONArray,则可以尝试使用JSON_CONTAINS()函数进行查询。 你可以查询如下: -

SELECT * FROM records WHERE JSON_CONTAINS(data, '[Adam]');

其中数据是包含数组的列。