Files
email-tracker/external/duckdb/test/sql/function/array/array_length.test
2025-10-24 19:21:19 -05:00

60 lines
1.1 KiB
SQL

# name: test/sql/function/array/array_length.test
# group: [array]
# Array length
query I
SELECT length(array_value(1, 2, 3));
----
3
# array length for NULL values
statement ok
create table arrays(a int[3]);
statement ok
insert into arrays values ([1, 2, 3]), ([4, 5, 6])
query I
select length(a) from arrays;
----
3
3
query I
select length(NULL::int[3]) from arrays;
----
NULL
NULL
statement ok
insert into arrays values (NULL);
query I
select length(a) from arrays;
----
3
3
NULL
# Array length with dimension argument
query I
SELECT array_length(array_value(array_value(1, 2, 2), array_value(3, 4, 3)), 1);
----
2
query I
SELECT array_length(array_value(array_value(1, 2, 2), array_value(3, 4, 3)), 2);
----
3
statement error
SELECT array_length(array_value(array_value(1, 2, 2), array_value(3, 4, 3)), 3);
----
Out of Range Error: array_length dimension '3' out of range (min: '1', max: '2')
statement error
SELECT array_length(array_value(array_value(1, 2, 2), array_value(3, 4, 3)), 0);
----
Out of Range Error: array_length dimension '0' out of range (min: '1', max: '2')