Files
Whis Liao f639a2099d feat(function): add json_object_keys scalar function (#8722)
Expose JSON object key listing for outermost objects, with sqlness coverage.
2026-08-04 02:31:30 +00:00

40 lines
1.1 KiB
SQL

--- json_object_keys ---
SELECT json_object_keys(parse_json('{"a": 1, "b": {"c": 2}}'));
SELECT json_object_keys(parse_json('{}'));
SELECT json_object_keys(parse_json('[1, 2]'));
SELECT json_object_keys(parse_json('null'));
SELECT json_object_keys(NULL);
--- json_path_exists ---
SELECT json_path_exists(parse_json('{"a": 1, "b": 2}'), '$.a');
SELECT json_path_exists(parse_json('{"a": 1, "b": 2}'), '$.c');
SELECT json_path_exists(parse_json('[1, 2]'), '[0]');
SELECT json_path_exists(parse_json('[1, 2]'), '[2]');
SELECT json_path_exists(parse_json('[1, 2]'), 'null');
SELECT json_path_exists(parse_json('null'), '$.a');
SELECT json_path_exists(NULL, '$.a');
SELECT json_path_exists(parse_json('{}'), NULL);
--- json_path_match ---
SELECT json_path_match(parse_json('{"a": 1, "b": 2}'), '$.a == 1');
SELECT json_path_match(parse_json('{"a":1,"b":[1,2,3]}'), '$.b[0] > 1');
SELECT json_path_match(parse_json('{"a":1,"b":[1,2,3]}'), '$.b[1 to last] >= 2');
SELECT json_path_match(parse_json('{"a":1,"b":[1,2,3]}'), 'null');
SELECT json_path_match(parse_json('null'), '$.a == 1');