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函數。