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.

Pertanyaan Umum tentang FLATTEN

Apa itu fungsi FLATTEN di Snowflake?
Mengubah array atau object menjadi rows (table function). Di Snowflake, fungsi FLATTEN termasuk dalam kelompok fungsi yang sering digunakan untuk mengolah dan menganalisis data secara efisien.
Bagaimana cara menggunakan FLATTEN di Snowflake?
Gunakan sintaks berikut: FLATTEN(input => array_or_object [, PATH => ...] [, OUTER => ...]). Pastikan argumen yang dimasukkan sudah sesuai dengan tipe data yang diharapkan.
Apa nilai yang dikembalikan oleh fungsi FLATTEN?
Fungsi FLATTEN mengembalikan nilai bertipe Table with SEQ, KEY, PATH, INDEX, VALUE, THIS columns. Pastikan tipe data hasil sudah sesuai dengan kebutuhan query atau formula kamu. Jika input mengandung nilai NULL, perilaku fungsi dapat berbeda — selalu periksa dokumentasi untuk memastikan hasilnya sesuai ekspektasi.
Apa saja parameter fungsi FLATTEN?
Fungsi ini memiliki 1 parameter wajib dan 2 parameter opsional. Parameter yang digunakan: input (VARIANT/ARRAY/OBJECT, wajib): Data untuk di-flatten; PATH (VARCHAR, opsional): Path ke nested element; OUTER (BOOLEAN, opsional): TRUE untuk OUTER join behavior.