JSON_PATH_EXISTS (Lakehouse v1)
Verifica se um caminho especificado existe nos dados JSON.
Sintaxe do Analyze
Seção intitulada “Sintaxe do Analyze”func.json_path_exists(<json_data>, <json_path_expression)Exemplos do Analyze
Seção intitulada “Exemplos do Analyze”func.json_path_exists(parse_json('{"a": 1, "b": 2}'), '$.a ? (@ == 1)'), func.json_path_exists(parse_json('{"a": 1, "b": 2}'), '$.a ? (@ > 1)')┌─────────────────────────────┐│ Item 1 │ Item 2 │├────────────────┼────────────┤│ True │ False │└─────────────────────────────┘Sintaxe SQL
Seção intitulada “Sintaxe SQL”JSON_PATH_EXISTS(<json_data>, <json_path_expression>)-
json_data: especifica os dados JSON em que pretende pesquisar. Pode ser um objeto JSON ou uma matriz.
-
json_path_expression: especifica o caminho, a partir da raiz dos dados JSON representada por
$, que pretende verificar nos dados JSON. Pode também incluir condições na expressão, utilizando@para se referir ao nó ou elemento atual que está a ser avaliado, de modo a filtrar os resultados.
Tipo de retorno
Seção intitulada “Tipo de retorno”A função devolve:
truese o caminho JSON especificado (e as condições, se existirem) existir nos dados JSON.falsese o caminho JSON especificado (e as condições, se existirem) não existir nos dados JSON.- NULL se json_data ou json_path_expression for NULL ou inválido.
Exemplos de SQL
Seção intitulada “Exemplos de SQL”SELECT JSON_PATH_EXISTS(parse_json('{"a": 1, "b": 2}'), '$.a ? (@ == 1)');
----true
SELECT JSON_PATH_EXISTS(parse_json('{"a": 1, "b": 2}'), '$.a ? (@ > 1)');
----false
SELECT JSON_PATH_EXISTS(NULL, '$.a');
----NULL
SELECT JSON_PATH_EXISTS(parse_json('{"a": 1, "b": 2}'), NULL);
----NULL