ホームページ >データベース >mysql チュートリアル >MySQL でエンコードされた JSON データを効率的に検索して特定の値を除外するにはどうすればよいですか?

MySQL でエンコードされた JSON データを効率的に検索して特定の値を除外するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-23 16:21:09718ブラウズ

How Can I Efficiently Search Encoded JSON Data in MySQL to Exclude Specific Values?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。