A função JSON_CONTAINS verifica se um objeto JSON contém um elemento JSON específico.
Sintaxe
BOOLEAN JSON_CONTAINS(JSON <json>, JSON <candidate> [, STRING <json_path>])
-- Standard example.
-- Returns true.
SELECT JSON_CONTAINS(JSON '[1,2,3,4,5,6,7,8]', JSON '4');
Parâmetros
json: Obrigatório. Os dados JSON a serem verificados. O tipo de dado é JSON.
candidate: Obrigatório. O elemento JSON a ser buscado. O tipo de dado é JSON.
json_path: Opcional. O caminho JSON onde a verificação será feita. O tipo de dado é STRING. Caso você não especifique este parâmetro, a função verifica todo o objeto JSON por padrão.
Valor de retorno
A função retorna um valor BOOLEAN com base nas seguintes regras:
Retorna true se o elemento especificado existir nos dados json. Caso contrário, retorna false.
Retorna false quando o json_path não existe ou é inválido.
Retorna NULL se json ou candidate for NULL.
Exemplos
-- Returns true.
SELECT JSON_CONTAINS(JSON '[1,2,3,4,5,6,7,8]', JSON '4');
-- Returns true.
SELECT JSON_CONTAINS(JSON '{"a": 1, "b": 2, "c": {"d": 4}}', JSON '1', '$.a');
-- Returns false.
SELECT JSON_CONTAINS(JSON '{"a": 1, "b": 2, "c": {"d": 4}}', JSON '2', '$.a');
-- Returns false. The json_path does not exist.
SELECT JSON_CONTAINS(JSON '{"a": 1}',JSON '2', '$.b');
-- Returns false. The json_path is invalid.
SELECT JSON_CONTAINS(JSON '{"a": 1}',JSON '2', 'b');
-- Returns NULL.
SELECT JSON_CONTAINS(JSON '{"a": 1}',NULL);
-- Returns NULL.
SELECT JSON_CONTAINS(NULL,JSON '1');
Funções relacionadas
JSON_CONTAINS é uma função JSON. Para mais informações, consulte JSON functions.