JSON は構造化データの保存に使用される一般的なデータ形式であり、JSON オブジェクトをデータベース列に保存することがますます一般的になりつつあります。 MySQL には、JSON 列からデータを抽出するためのメソッドがいくつか用意されており、特定のフィールドに基づいてデータのクエリとフィルタリングが容易になります。
json_extract() の使用 (MySQL 5.7 以降)
MySQL バージョン 5.7 以降の場合、 json_extract() 関数は、JSON オブジェクトから特定の値を抽出する便利な方法を提供します。例を次に示します:
SELECT user_id, json_data FROM articles WHERE json_extract(json_data, '$.title') LIKE '%CPU%';
このクエリは、JSON 列の "title" フィールドがパターン に一致する行を取得します。 "%CPU%"。提供されたサンプル テーブルの最初の行のみが返されます。
json_unquote() および json_contains() の使用 (MySQL 8.0 以降)
MySQL 8.0 以降、 json_unquote() 関数を使用して JSON 値から二重引用符を削除でき、 json_contains() 関数を使用して特定の値が JSON オブジェクトに存在するかどうかを確認するために使用されます。代替クエリは次のとおりです:
SELECT user_id, json_data FROM articles WHERE json_unquote(json_value(json_data, '$.title')) LIKE '%CPU%';
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3