JSON_PATH_MATCH (Lakehouse v1)
Sprawdza, czy wskazane wyrażenie ścieżki JSON spełnia określone warunki w danych JSON. Uwaga: operator @@ jest synonimem tej funkcji. Więcej informacji znajdziesz w sekcji Operatory JSON.
Składnia Analyze
Dział zatytułowany „Składnia Analyze”func.json_path_match(<json_data>, <json_path_expression)Przykłady Analyze
Dział zatytułowany „Przykłady Analyze”func.json_path_match(func.parse_json('{"a":1,"b":[1,2,3]}'), '$.a == 1')┌──────────────────────────────────────────────────────────────────────────┐│ func.json_path_match(func.parse_json('{"a":1,"b":[1,2,3]}'), '$.a == 1') │├──────────────────────────────────────────────────────────────────────────┤│ true │└──────────────────────────────────────────────────────────────────────────┘
func.json_path_match(func.parse_json('{"a":1,"b":[1,2,3]}'), '$.b[0] > 1')┌────────────────────────────────────────────────────────────────────────────┐│ func.json_path_match(func.parse_json('{"a":1,"b":[1,2,3]}'), '$.b[0] > 1') │├────────────────────────────────────────────────────────────────────────────┤│ false │└────────────────────────────────────────────────────────────────────────────┘Składnia SQL
Dział zatytułowany „Składnia SQL”JSON_PATH_MATCH(<json_data>, <json_path_expression>)json_data: określa dane JSON, które chcesz zbadać. Może to być obiekt JSON lub tablica.json_path_expression: określa warunki do sprawdzenia w danych JSON. Wyrażenie to opisuje konkretną ścieżkę lub kryteria do dopasowania, na przykład weryfikację, czy wartości określonych pól w strukturze JSON spełniają pewne warunki. Symbol$reprezentuje korzeń danych JSON. Służy do rozpoczęcia wyrażenia ścieżki i wskazuje obiekt najwyższego poziomu w strukturze JSON.
Typ zwracany
Dział zatytułowany „Typ zwracany”Funkcja zwraca:
true, jeśli wskazane wyrażenie ścieżki JSON spełnia warunki w danych JSON.false, jeśli wskazane wyrażenie ścieżki JSON nie spełnia warunków w danych JSON.- NULL, jeśli
json_datalubjson_path_expressionma wartość NULL lub jest nieprawidłowe.
Przykłady SQL
Dział zatytułowany „Przykłady SQL”-- Check if the value at JSON path $.a is equal to 1SELECT JSON_PATH_MATCH(parse_json('{"a":1,"b":[1,2,3]}'), '$.a == 1');
┌────────────────────────────────────────────────────────────────┐│ json_path_match(parse_json('{"a":1,"b":[1,2,3]}'), '$.a == 1') │├────────────────────────────────────────────────────────────────┤│ true │└────────────────────────────────────────────────────────────────┘
-- Check if the first element in the array at JSON path $.b is greater than 1SELECT JSON_PATH_MATCH(parse_json('{"a":1,"b":[1,2,3]}'), '$.b[0] > 1');
┌──────────────────────────────────────────────────────────────────┐│ json_path_match(parse_json('{"a":1,"b":[1,2,3]}'), '$.b[0] > 1') │├──────────────────────────────────────────────────────────────────┤│ false │└──────────────────────────────────────────────────────────────────┘
-- Check if any element in the array at JSON path $.b-- from the second one to the last are greater than or equal to 2SELECT JSON_PATH_MATCH(parse_json('{"a":1,"b":[1,2,3]}'), '$.b[1 to last] >= 2');
┌───────────────────────────────────────────────────────────────────────────┐│ json_path_match(parse_json('{"a":1,"b":[1,2,3]}'), '$.b[1 to last] >= 2') │├───────────────────────────────────────────────────────────────────────────┤│ true │└───────────────────────────────────────────────────────────────────────────┘
-- NULL is returned if either the json_data or json_path_expression is NULL or invalid.SELECT JSON_PATH_MATCH(parse_json('{"a":1,"b":[1,2,3]}'), NULL);
┌──────────────────────────────────────────────────────────┐│ json_path_match(parse_json('{"a":1,"b":[1,2,3]}'), null) │├──────────────────────────────────────────────────────────┤│ NULL │└──────────────────────────────────────────────────────────┘
SELECT JSON_PATH_MATCH(NULL, '$.a == 1');
┌───────────────────────────────────┐│ json_path_match(null, '$.a == 1') │├───────────────────────────────────┤│ NULL │└───────────────────────────────────┘