

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Fungsi array
<a name="Array_Functions"></a>

Bagian ini menjelaskan fungsi array untuk SQL yang didukung di AWS Clean Rooms. 

**Topics**
+ [Fungsi ARRAY](array.md)
+ [Fungsi ARRAY\$1CONTAINS](array_contains.md)
+ [Fungsi ARRAY\$1DISTINCT](array_distinct.md)
+ [Fungsi ARRAY\$1EXCEPLE](array_except.md)
+ [Fungsi ARRAY\$1INTERSECT](array_intersect.md)
+ [Fungsi ARRAY\$1JOIN](array_join.md)
+ [Fungsi ARRAY\$1REMOVE](array_remove.md)
+ [Fungsi ARRAY\$1UNION](array_union.md)
+ [Fungsi EXPLODE](explode.md)
+ [Fungsi FLATTEN](flatten.md)

# Fungsi ARRAY
<a name="array"></a>

Menciptakan array dengan elemen yang diberikan.

## Sintaksis
<a name="array-synopsis"></a>

```
ARRAY( [ expr1 ] [ , expr2 [ , ... ] ] )
```

## Pendapat
<a name="array-argument"></a>

 *expr1, expr2*   
Ekspresi tipe data apa pun kecuali tipe tanggal dan waktu. Argumen tidak harus dari tipe data yang sama.

## Jenis pengembalian
<a name="array-return-type"></a>

Fungsi array mengembalikan ARRAY dengan unsur-unsur dalam ekspresi.

## Contoh
<a name="array-example"></a>

Contoh berikut menunjukkan array nilai numerik dan array tipe data yang berbeda.

```
--an array of numeric values
select array(1,50,null,100);
      array
------------------
 [1,50,null,100]
(1 row)

--an array of different data types
select array(1,'abc',true,3.14);
        array
-----------------------
 [1,"abc",true,3.14]
(1 row)
```

# Fungsi ARRAY\$1CONTAINS
<a name="array_contains"></a>

Fungsi ARRAY\$1CONTAINS dapat digunakan untuk melakukan pemeriksaan keanggotaan dasar pada struktur data array. Fungsi ARRAY\$1CONTAINS berguna ketika Anda perlu memeriksa apakah nilai tertentu hadir dalam array.

## Sintaksis
<a name="array_contains-syntax"></a>

```
array_contains(array, value)
```

## Pendapat
<a name="array_contains-arguments"></a>

 *array*  
ARRAY yang akan dicari.

 *nilai*  
Ekspresi dengan tipe berbagi tipe yang paling tidak umum dengan elemen array.

## Jenis pengembalian
<a name="array_contains-return-type"></a>

Fungsi ARRAY\$1CONTAINS mengembalikan BOOLEAN. 

Jika nilainya NULL, hasilnya adalah NULL. 

Jika ada elemen dalam array adalah NULL, hasilnya adalah NULL jika nilai tidak cocok dengan elemen lainnya.

## Contoh
<a name="array_contains-example"></a>

Contoh berikut memeriksa apakah array `[1, 2, 3]` berisi nilai`4`. Karena array`[1, 2, 3`] tidak berisi nilai`4`, fungsi array\$1contains kembali. `false` 

```
SELECT array_contains(array(1, 2, 3), 4)
false
```

Contoh berikut memeriksa apakah array `[1, 2, 3]` berisi nilai`2`. Karena array `[1, 2, 3]` memang berisi nilai`2`, fungsi array\$1contains kembali. `true` 

```
SELECT array_contains(array(1, 2, 3), 2);
 true
```

# Fungsi ARRAY\$1DISTINCT
<a name="array_distinct"></a>

Fungsi ARRAY\$1DISTINCT dapat digunakan untuk menghapus nilai duplikat dari array. Fungsi ARRAY\$1DISTINCT berguna ketika Anda perlu menghapus duplikat dari array dan bekerja dengan hanya elemen unik. Ini dapat membantu dalam skenario di mana Anda ingin melakukan operasi atau analisis pada kumpulan data tanpa gangguan nilai berulang.

## Sintaksis
<a name="array_distinct-syntax"></a>

```
array_distinct(array)
```

## Pendapat
<a name="array_distinct-arguments"></a>

 *array*  
Ekspresi ARRAY.

## Jenis pengembalian
<a name="array_distinct-return-type"></a>

Fungsi ARRAY\$1DISTINCT mengembalikan ARRAY yang hanya berisi elemen unik dari array input. 

## Contoh
<a name="array_distinct-example"></a>

Dalam contoh ini, array input `[1, 2, 3, null, 3]` berisi nilai duplikat dari. `3` `array_distinct`Fungsi menghapus nilai duplikat ini `3` dan mengembalikan array baru dengan elemen unik:`[1, 2, 3, null]`.

```
SELECT array_distinct(array(1, 2, 3, null, 3));
 [1,2,3,null]
```

Dalam contoh ini, array input `[1, 2, 2, 3, 3, 3]` berisi nilai duplikat `2` dan`3`. `array_distinct`Fungsi menghapus duplikat ini dan mengembalikan array baru dengan elemen unik:`[1, 2, 3]`.

```
SELECT array_distinct(array(1, 2, 2, 3, 3, 3))
  [1,2,3]
```

# Fungsi ARRAY\$1EXCEPLE
<a name="array_except"></a>

Fungsi ARRAY\$1EXCEPLE mengambil dua array sebagai argumen dan mengembalikan array baru yang hanya berisi elemen yang hadir dalam array pertama tetapi bukan array kedua.

ARRAY\$1EXCEPLE berguna ketika Anda perlu menemukan elemen yang unik untuk satu array dibandingkan dengan yang lain. Ini dapat membantu dalam skenario di mana Anda perlu melakukan operasi set-like pada array, seperti menemukan perbedaan antara dua set data.

## Sintaksis
<a name="array_except-syntax"></a>

```
array_except(array1, array2)
```

## Pendapat
<a name="array_except-arguments"></a>

 *array1*  
ARRAY jenis apa pun dengan elemen yang sebanding.

 *array2*  
ARRAY elemen berbagi tipe yang paling tidak umum dengan elemen *array1*.

## Jenis pengembalian
<a name="array_except-return-type"></a>

Fungsi ARRAY\$1EXCEPLE mengembalikan ARRAY tipe yang cocok untuk *array1* tanpa duplikat.

## Contoh
<a name="array_except-example"></a>

Dalam contoh ini, array pertama `[1, 2, 3]` berisi elemen 1, 2, dan 3. Array kedua `[2, 3, 4]` berisi elemen 2, 3, dan 4. `array_except`Fungsi menghapus elemen 2 dan 3 dari array pertama, karena mereka juga hadir dalam array kedua. Output yang dihasilkan adalah array`[1]`.

```
SELECT array_except(array(1, 2, 3), array(2, 3, 4))
  [1]
```

Dalam contoh ini, array pertama `[1, 2, 3]` berisi elemen 1, 2, dan 3. Array kedua `[1, 3, 5]` berisi elemen 1, 3, dan 5. `array_except`Fungsi menghapus elemen 1 dan 3 dari array pertama, karena mereka juga hadir dalam array kedua. Output yang dihasilkan adalah array`[2]`.

```
SELECT array_except(array(1, 2, 3), array(1, 3, 5));
 [2]
```

# Fungsi ARRAY\$1INTERSECT
<a name="array_intersect"></a>

Fungsi ARRAY\$1INTERSECT mengambil dua array sebagai argumen dan mengembalikan array baru yang berisi elemen yang ada di kedua array input. Fungsi ini berguna ketika Anda perlu menemukan elemen umum antara dua array. Ini dapat membantu dalam skenario di mana Anda perlu melakukan operasi set-like pada array, seperti menemukan persimpangan antara dua set data.

## Sintaksis
<a name="array_intersect-syntax"></a>

```
array_intersect(array1, array2)
```

## Pendapat
<a name="array_intersect-arguments"></a>

 *array1*  
ARRAY jenis apa pun dengan elemen yang sebanding.

 *array2*  
ARRAY elemen berbagi tipe yang paling tidak umum dengan elemen array1.

## Jenis pengembalian
<a name="array_intersect-return-type"></a>

Fungsi ARRAY\$1INTERSECT mengembalikan ARRAY tipe yang cocok ke array1 tanpa duplikat dan elemen yang terkandung dalam array1 dan array2.

## Contoh
<a name="array_intersect-example"></a>

Dalam contoh ini, array pertama `[1, 2, 3]` berisi elemen 1, 2, dan 3. Array kedua `[1, 3, 5]` berisi elemen 1, 3, dan 5. Fungsi ARRAY\$1INTERSECT mengidentifikasi elemen umum antara dua array, yaitu 1 dan 3. Array keluaran yang dihasilkan adalah`[1, 3]`.

```
SELECT array_intersect(array(1, 2, 3), array(1, 3, 5));
 [1,3]
```

# Fungsi ARRAY\$1JOIN
<a name="array_join"></a>

Fungsi ARRAY\$1JOIN mengambil dua argumen: Argumen pertama adalah array input yang akan bergabung. Argumen kedua adalah string pemisah yang akan digunakan untuk menggabungkan elemen array. Fungsi ini berguna ketika Anda perlu mengubah array string (atau tipe data lainnya) menjadi string gabungan tunggal. Ini dapat membantu dalam skenario di mana Anda ingin menyajikan array nilai sebagai string berformat tunggal, seperti untuk tujuan tampilan atau untuk digunakan dalam pemrosesan lebih lanjut.

## Sintaksis
<a name="array_join-syntax"></a>

```
array_join(array, delimiter[, nullReplacement])
```

## Pendapat
<a name="array_join-arguments"></a>

 *array*  
Setiap jenis ARRAY, tetapi elemen-elemennya ditafsirkan sebagai string.

 *pembatas*  
Sebuah STRING digunakan untuk memisahkan elemen array gabungan.

 *NullReplacement*  
Sebuah STRING digunakan untuk mengekspresikan nilai NULL dalam hasil.

## Jenis pengembalian
<a name="array_join-return-type"></a>

Fungsi ARRAY\$1JOIN mengembalikan STRING di mana elemen array dipisahkan oleh pembatas dan elemen null diganti. `nullReplacement` Jika `nullReplacement` dihilangkan, `null` elemen disaring. Jika ada argumen`NULL`, hasilnya adalah`NULL`.

## Contoh
<a name="array_join-example"></a>

Dalam contoh ini, fungsi ARRAY\$1JOIN mengambil array `['hello', 'world']` dan menggabungkan elemen menggunakan pemisah `' '` (karakter spasi). Output yang dihasilkan adalah string`'hello world'`. 

```
SELECT array_join(array('hello', 'world'), ' ');
 hello world
```

Dalam contoh ini, fungsi ARRAY\$1JOIN mengambil array `['hello', null, 'world']` dan menggabungkan elemen menggunakan pemisah `' '` (karakter spasi). `null`Nilai diganti dengan string pengganti yang disediakan `','` (koma). Output yang dihasilkan adalah string`'hello , world'`.

```
SELECT array_join(array('hello', null ,'world'), ' ', ',');
 hello , world
```

# Fungsi ARRAY\$1REMOVE
<a name="array_remove"></a>

Fungsi ARRAY\$1REMOVE mengambil dua argumen: Argumen pertama adalah array input dari mana elemen akan dihapus. Argumen kedua adalah nilai yang akan dihapus dari array. Fungsi ini berguna ketika Anda perlu menghapus elemen tertentu dari array. Ini dapat membantu dalam skenario di mana Anda perlu melakukan pembersihan data atau preprocessing pada array nilai.

## Sintaksis
<a name="array_remove-syntax"></a>

```
array_remove(array, element)
```

## Pendapat
<a name="array_remove-arguments"></a>

 *array*  
Sebuah ARRAY.

 *elemen*  
Ekspresi tipe berbagi tipe yang paling tidak umum dengan elemen array.

## Jenis pengembalian
<a name="array_remove-return-type"></a>

Fungsi ARRAY\$1REMOVE mengembalikan jenis hasil yang cocok dengan tipe array. Jika elemen yang akan dihapus adalah`NULL`, hasilnya adalah`NULL`.

## Contoh
<a name="array_remove-example"></a>

Dalam contoh ini, fungsi ARRAY\$1REMOVE mengambil array `[1, 2, 3, null, 3]` dan menghapus semua kemunculan nilai 3. Output yang dihasilkan adalah array`[1, 2, null]`. 

```
SELECT array_remove(array(1, 2, 3, null, 3), 3);
 [1,2,null]
```

# Fungsi ARRAY\$1UNION
<a name="array_union"></a>

Fungsi ARRAY\$1UNION mengambil dua array sebagai argumen dan mengembalikan array baru yang berisi elemen unik dari kedua array input. Fungsi ini berguna ketika Anda perlu menggabungkan dua array dan menghilangkan elemen duplikat. Ini dapat membantu dalam skenario di mana Anda perlu melakukan operasi set-like pada array, seperti menemukan penyatuan antara dua set data.

## Sintaksis
<a name="array_union-syntax"></a>

```
array_union(array1, array2)
```

## Pendapat
<a name="array_union-arguments"></a>

 *array1*  
Sebuah ARRAY.

 *array2*  
ARRAY dari tipe yang sama dengan *array1*.

## Jenis pengembalian
<a name="array_union-return-type"></a>

Fungsi ARRAY\$1UNION mengembalikan ARRAY dari jenis yang sama seperti array.

## Contoh
<a name="array_union-example"></a>

Dalam contoh ini, array pertama `[1, 2, 3]` berisi elemen 1, 2, dan 3. Array kedua `[1, 3, 5]` berisi elemen 1, 3, dan 5. Fungsi ARRAY\$1UNION menggabungkan elemen unik dari kedua array, menghasilkan array output. `[1, 2, 3, 5]` T

```
SELECT array_union(array(1, 2, 3), array(1, 3, 5));
 [1,2,3,5]
```

# Fungsi EXPLODE
<a name="explode"></a>

Fungsi EXPLODE digunakan untuk mengubah satu baris dengan array atau kolom peta menjadi beberapa baris, di mana setiap baris sesuai dengan satu elemen dari array atau peta.

## Sintaksis
<a name="explode-syntax"></a>

```
explode(expr)
```

## Pendapat
<a name="explode-arguments"></a>

 *expr*  
Ekspresi array atau ekspresi peta. 

## Jenis pengembalian
<a name="explode-return-type"></a>

Fungsi EXPLODE mengembalikan satu set baris, di mana setiap baris mewakili elemen tunggal dari array input atau peta.

Tipe data dari baris output tergantung pada tipe data elemen dalam array input atau peta. 

## Contoh
<a name="explode-example"></a>

Contoh berikut mengambil array baris tunggal [10, 20] dan mengubahnya menjadi dua baris terpisah, masing-masing berisi salah satu elemen array (10 dan 20).

```
SELECT explode(array(10, 20));
```

Pada contoh pertama, array input langsung diteruskan sebagai argumen ke`explode()`. Dalam contoh ini, array input ditentukan menggunakan `=>` sintaks, di mana nama kolom (`collection`) secara eksplisit disediakan.

```
SELECT explode(array(10, 20));
```

Kedua pendekatan tersebut valid dan mencapai hasil yang sama, tetapi sintaks kedua dapat lebih berguna ketika Anda perlu meledakkan kolom dari kumpulan data yang lebih besar, bukan hanya literal array sederhana.

# Fungsi FLATTEN
<a name="flatten"></a>

Fungsi FLATTEN digunakan untuk “meratakan” struktur array bersarang menjadi array datar tunggal.

## Sintaksis
<a name="flatten-syntax"></a>

```
flatten(arrayOfArrays)
```

## Pendapat
<a name="flatten-arguments"></a>

 *arrayOfArrays*  
Sebuah array array.

## Jenis pengembalian
<a name="flatten-return-type"></a>

Fungsi FLATTEN mengembalikan array.

## Contoh
<a name="flatten-example"></a>

Dalam contoh ini, input adalah array bersarang dengan dua array dalam, dan outputnya adalah array datar tunggal yang berisi semua elemen dari array bagian dalam. Fungsi FLATTEN mengambil array bersarang `[[1, 2], [3, 4]]` dan menggabungkan semua elemen ke dalam satu array. `[1, 2, 3, 4]`

```
SELECT flatten(array(array(1, 2), array(3, 4)));
 [1,2,3,4]
```