Array

FLATTEN

SnowflakeSnowflake

Mengubah array atau object menjadi rows (table function).

Tipe hasil: Table with SEQ, KEY, PATH, INDEX, VALUE, THIS columnsDiperbarui: 6 Jan 2026

Syntax

SQL
FLATTEN(input => array_or_object [, PATH => ...] [, OUTER => ...])

Parameter

inputVARIANT/ARRAY/OBJECTwajib

Data untuk di-flatten

PATHVARCHARopsional

Path ke nested element

OUTERBOOLEANopsional

TRUE untuk OUTER join behavior

Default: FALSE

Contoh Penggunaan

Flatten Array

SQL
1SELECT f.value::INTEGER as num
2FROM (SELECT ARRAY_CONSTRUCT(1, 2, 3) as arr) t,
3 LATERAL FLATTEN(input => t.arr) f;

Mengubah array menjadi rows.

Hasil
num
1
2
3

Flatten JSON Array

SQL
1SELECT
2 o.order_id,
3 f.value:product_id::INTEGER as product_id,
4 f.value:quantity::INTEGER as quantity
5FROM orders o,
6 LATERAL FLATTEN(input => o.items) f;

Flatten array items dalam JSON.