メインコンテンツまでスキップ
バージョン: 4.x

JSON_CONTAINS

デスクリプション

この関数は、JSON ドキュメントに指定された JSON 要素が含まれているかどうかを確認するために使用されます。指定された要素が JSON ドキュメントに存在する場合は 1 を返し、そうでない場合は 0 を返します。JSON ドキュメントまたはクエリされる要素が無効な場合は、NULL を返します。

Syntax

JSON_CONTAINS(<json_str>, <candidate> [, <json_path>])

Required パラメータ

Parameterデスクリプション
<json_str>チェック対象の JSON 文字列。
<candidate>包含を確認する JSON 要素。

Optional パラメータ

Parameterデスクリプション
<json_path>チェックするサブドキュメントを指定するオプションの JSON パス。提供されない場合、デフォルトでルートドキュメントが使用されます。

Return Value

  • <json_path>json_doc に存在する場合、1 を返します。
  • <json_path>json_doc に存在しない場合、0 を返します。
  • パラメータが無効または JSON ドキュメントの形式が正しくない場合、NULL を返します。

Examples


SELECT JSON_CONTAINS('{"a": 1, "b": 2, "c": {"d": 4}}', '1', '$.a');

+------------------------------------------------------------------------------------------+
| json_contains(cast('{"a": 1, "b": 2, "c": {"d": 4}}' as JSON), cast('1' as JSON), '$.a') |
+------------------------------------------------------------------------------------------+
| 1 |
+------------------------------------------------------------------------------------------+


SELECT json_contains('[1, 2, {"x": 3}]', '1');

+-------------------------------------------------------------------------+
| json_contains(cast('[1, 2, {"x": 3}]' as JSON), cast('1' as JSON), '$') |
+-------------------------------------------------------------------------+
| 1 |
+-------------------------------------------------------------------------+