How to search JSON array in MySQL?

后端 未结 8 896
生来不讨喜
生来不讨喜 2020-11-29 06:03

Let\'s say I have a JSON column named data in some MySQL table, and this column is a single array. So, for example, data may contain:

8条回答
  •  温柔的废话
    2020-11-29 06:19

    You may search an array of integers as follows:

      JSON_CONTAINS('[1,2,3,4,5]','7','$') Returns: 0
      JSON_CONTAINS('[1,2,3,4,5]','1','$') Returns: 1
    

    You may search an array of strings as follows:

      JSON_CONTAINS('["a","2","c","4","x"]','"x"','$') Returns: 1
      JSON_CONTAINS('["1","2","3","4","5"]','"7"','$') Returns: 0
    

    Note: JSON_CONTAINS returns either 1 or 0

    In your case you may search using a query like so:

    SELECT * from my_table
    WHERE JSON_CONTAINS(data, '2', '$');
    

提交回复
热议问题