array_length()

array_length for lists with dimensions other than 1 not implemented

Arguments & returns

2 overloads

array_length(list)

Scalar

Returns the length of the list.

Overload link list Returns
#01 ANY[] BIGINT

array_length(list, dimension)

Scalar
Overload link listdimension Returns
#02 ANY[]BIGINT BIGINT

Example

array_length example
SQL
Haybarn WASM 1.5.5-rc3 · In your browser

Engine example · Run to view results.

In other engines

PostgreSQLarray_length()

Same function

Apache Hivesize()

SIZE(x)
In DuckDB
ARRAY_LENGTH(x)

SQLGlot example ↗

Prestocardinality()

CARDINALITY(x)
In DuckDB
ARRAY_LENGTH(x)

SQLGlot example ↗

Used in larger rewrites 2

These examples use array_length as one part of a larger SQL translation.

BigQueryunnest()

SELECT * FROM a WHERE b IN UNNEST([1, 2, 3])
In DuckDB
SELECT * FROM a WHERE CASE WHEN [1, 2, 3] IS NULL OR ARRAY_LENGTH([1, 2, 3]) = 0 THEN FALSE WHEN ARRAY_CONTAINS([1, 2, 3], b) THEN TRUE WHEN b IS NULL OR ARRAY_LENGTH([1, 2, 3]) <> LIST_COUNT([1, 2, 3]) THEN NULL ELSE FALSE END

SQLGlot example ↗

Snowflakearrays_overlap()

SELECT ARRAYS_OVERLAP(col1, col2)
In DuckDB
SELECT (col1 && col2) OR (ARRAY_LENGTH(col1) <> LIST_COUNT(col1) AND ARRAY_LENGTH(col2) <> LIST_COUNT(col2))

SQLGlot example ↗