Files
email-tracker/external/duckdb/test/sql/json/test_json_macros.test
2025-10-24 19:21:19 -05:00

53 lines
1.1 KiB
SQL

# name: test/sql/json/test_json_macros.test
# description: Test JSON default macro's
# group: [json]
require json
statement ok
pragma enable_verification
statement ok
create table t1 as select range + 10 n, range v from range(10)
query T
select json_group_array(v) from t1
----
[0,1,2,3,4,5,6,7,8,9]
query T
select json_group_object(n, v) from t1
----
{"10":0,"11":1,"12":2,"13":3,"14":4,"15":5,"16":6,"17":7,"18":8,"19":9}
query T
select json_group_object(n, v) from t1 group by n % 2 order by all
----
{"10":0,"12":2,"14":4,"16":6,"18":8}
{"11":1,"13":3,"15":5,"17":7,"19":9}
statement ok
insert into t1 values (0, NULL), (20, NULL), (21, NULL), (1, 10), (2, 11)
query T
select json_group_object(n, v) from t1 group by n % 2 order by all
----
{"10":0,"12":2,"14":4,"16":6,"18":8,"0":null,"20":null,"2":11}
{"11":1,"13":3,"15":5,"17":7,"19":9,"21":null,"1":10}
statement ok
create table t2 (j json)
statement ok
insert into t2 values ('{"a": 42}'), ('{"a": 42.42, "b": "duck"}')
query T
select json_group_structure(j) from t2
----
{"a":"DOUBLE","b":"VARCHAR"}
query T
select json(' { "this" : "is", "a": [ "test" ] }')
----
{"this":"is","a":["test"]}