`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 関数」をご参照ください。