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类型函数请参见JSON函数。
该文章对您有帮助吗?