代码之家  ›  专栏  ›  技术社区  ›  Justin J

MySQL5.7在json列中搜索值

  •  2
  • Justin J  · 技术社区  · 7 年前

    如何在一列中搜索两个JSON数组中的值“ABCD”?这是方括号内的多个JSON数据 示例JSON数据添加如下:

    [{"id": "ABCD", "TEST1": "2002", "value": "test value1", "comment": ""}, {"id": "ABCD", "TEST2": "2003", "value": "test value2", "comment": ""}]
    
    2 回复  |  直到 7 年前
        1
  •  3
  •   Madhur Bhaiya    7 年前

    Json_Search() one all . 我们会把它当作 全部的

    SELECT JSON_SEARCH(json_column_name, 'all', 'ABCD');
    

    演示-模式(MySQL v5.7)

    SET @json_column_name = '[{"id": "ABCD", "TEST1": "2002", "value": "test value1", "comment": ""}, {"id": "ABCD", "TEST2": "2003", "value": "test value2", "comment": ""}]';
    
    SELECT JSON_SEARCH(@json_column_name, 'all', 'ABCD') AS result;
    

    结果

    | result                 |
    | ---------------------- |
    | ["$[0].id", "$[1].id"] |
    

    View on DB Fiddle

        2
  •  1
  •   Raghbendra Nayak    7 年前

    您可以阅读mysql文档

    mysql> SELECT JSON_SEARCH(@j, 'all', 'abc');
    

    在这里你可以搜索任何你想要的。

    Document:

    推荐文章