MySQL JSON_SEARCH関数:JSONデータ検索の基本と実践

MySQLのJSON_SEARCH関数は、指定された値をJSONデータ内で検索し、その値がJSON内でどこにあるかのパスを返します。

以下はその構文です:

JSON_SEARCH(json_doc, one_or_all, search_str[, escape_char[, wildcard_char[, path] ] ])

パラメーターの説明:

  1. json_doc が検索対象のJSON ドキュメントです。
  2. one_or_all:検索方法の指定、’one’(最初の一致項目のみを検索)または’all’(すべての一致項目を検索)が可能です。
  3. 検索する値:search_str
  4. エスケープ文字:特殊文字をエスケープするためのエスケープ文字で、デフォルトはバックスラッシュ(\)です。
  5. ワイルドカード文字:* は、ワイルドカードマッチングに使用されるデフォルトのワイルドカードです。
  6. path:JSON内で検索する指定されたパス、デフォルトはNULLです。

例:
以下のJSONデータがあると仮定します:

{"name": "John", "age": 30, "address": {"city": "New York", "zip": "10001"}}

「New York」を検索するには、JSON_SEARCH関数を使用できます。

SELECT JSON_SEARCH('{"name": "John", "age": 30, "address": {"city": "New York", "zip": "10001"}}', 'one', 'New York');

このクエリは、”$.address.city”を返します。これは、JSONで”New York”が見つかり、そのパスが”$.address.city”であることを示しています。

bannerAds