Array
Snowflake
FLATTEN
Mengubah array atau object menjadi rows (table function).
Tipe hasil:
Table with SEQ, KEY, PATH, INDEX, VALUE, THIS columnsDiperbarui: 6 Jan 2026Syntax
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
1 SELECT f.value::INTEGER as num 2 FROM (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
1 SELECT 2 o.order_id, 3 f.value:product_id::INTEGER as product_id, 4 f.value:quantity::INTEGER as quantity 5 FROM 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.