ホームページ >データベース >mysql チュートリアル >MySQL で JSON 配列内の要素を効率的に検索するにはどうすればよいですか?
MySQL での JSON 配列の検索
配列を含む「data」という名前の JSON カラムを持つ MySQL テーブルがあるとします。配列要素の 1 つが 2 より大きい行をすべて取得したいとします。
クエリ
SELECT * from my_table WHERE JSON_EXTRACT(data, '$[*]') > 2;
は、配列の値に関係なく常に true と評価されるため、間違った結果を返します。 .
配列内の整数を検索するには:
JSON_CONTAINS('[1,2,3,4,5]','7','$') # Returns: 0 JSON_CONTAINS('[1,2,3,4,5]','1','$') # Returns: 1
整数を検索するには配列内の文字列:
JSON_CONTAINS('["a","2","c","4","x"]','"x"','$') # Returns: 1 JSON_CONTAINS('["1","2","3","4","5"]','"7"','$') # Returns: 0
シナリオでは、次のクエリを使用します:
SELECT * from my_table WHERE JSON_CONTAINS(data, '2', '$');
このクエリは、"data" 列に より大きい要素を持つ配列が含まれるすべての行を選択します。 2.
以上がMySQL で JSON 配列内の要素を効率的に検索するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。