全部產品
Search
文件中心

MaxCompute:JSON_CONTAINS

更新時間:Dec 25, 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。

  • jsoncandidate為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函數