すべてのプロダクト
Search
ドキュメントセンター

MaxCompute:JSON_CONTAINS

最終更新日:Dec 26, 2025

`JSON_CONTAINS` 関数は、JSON オブジェクトに指定された JSON 要素が含まれているかどうかを確認します。

構文

BOOLEAN JSON_CONTAINS(JSON <json>, JSON <candidate> [, STRING <json_path>])

-- 標準的な例。
-- true を返します。
SELECT JSON_CONTAINS(JSON '[1,2,3,4,5,6,7,8]', JSON '4');

パラメーター

  • json:必須。チェック対象の JSON データ。データの型は JSON です。

  • candidate:必須。チェック対象の JSON 要素。データの型は JSON です。

  • json_path:任意。チェック対象の JSON パス。データの型は STRING です。このパラメーターを指定しない場合、関数はデフォルトで JSON オブジェクト全体をチェックします。

戻り値

この関数は、次のルールに基づいて BOOLEAN 型の値を返します:

  • 指定された要素が json データに存在する場合、この関数は true を返します。それ以外の場合は false を返します。

  • json_path が存在しないか無効である場合、この関数は false を返します。

  • json または candidate が NULL の場合、この関数は NULL を返します。

-- true を返します。
SELECT JSON_CONTAINS(JSON '[1,2,3,4,5,6,7,8]', JSON '4');

-- true を返します。
SELECT JSON_CONTAINS(JSON '{"a": 1, "b": 2, "c": {"d": 4}}', JSON '1', '$.a');

-- false を返します。
SELECT JSON_CONTAINS(JSON '{"a": 1, "b": 2, "c": {"d": 4}}', JSON '2', '$.a');

-- false を返します。json_path が存在しません。
SELECT JSON_CONTAINS(JSON '{"a": 1}',JSON '2', '$.b');

-- false を返します。json_path が無効です。
SELECT JSON_CONTAINS(JSON '{"a": 1}',JSON '2', 'b');

-- NULL を返します。
SELECT JSON_CONTAINS(JSON '{"a": 1}',NULL);

-- NULL を返します。
SELECT JSON_CONTAINS(NULL,JSON '1'); 

関連関数

`JSON_CONTAINS` は JSON 関数です。詳細については、「JSON 関数」をご参照ください。