ホームページ >データベース >mysql チュートリアル >MySQL でエンコードされた JSON データを効率的に検索して特定の値を除外するにはどうすればよいですか?
MySQL でエンコードされた JSON データを検索する
MySQL で JSON エンコードされたデータをクエリする際に問題が発生しました。特に、現在の MySQL クエリは、「3」とは異なる値を持つ「1」に等しいキーを取得しようとすると、一貫性のない結果を返します。
MySQL バージョンのソリューション >= 5.7
MySQL バージョン 5.7 以降を使用している場合は、JSON_EXTRACT 関数を利用して効率的に検索できます。 JSONデータ。この関数の構文は次のとおりです。
JSON_EXTRACT(JSON_DOCUMENT, JSON_PATH)
特定のケースでは、「3」を除く値でキー「1」をクエリするには、次のクエリを使用できます。
SELECT JSON_EXTRACT(`attribs_json`, "$.feature.1.value") AS `value` FROM `products` WHERE JSON_EXTRACT(`attribs_json`, "$.feature.1.value") NOT LIKE "%3%"
このクエリは、キー「1」に関連付けられた値に文字列が含まれていない場合にレコードを返します。 "3."
追加リソース
MySQL の JSON 検索関数のより包括的な概要については、公式 MySQL リファレンス マニュアルを参照してください。
https://dev.mysql.com/doc/refman/5.7/en/json-search-functions.html
以上がMySQL でエンコードされた JSON データを効率的に検索して特定の値を除外するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。