array_sort Fungsi

Berlaku untuk:check ditandai ya pemeriksaan Databricks SQL ditandai ya Databricks Runtime

Mengembalikan yang diurutkan array sesuai dengan func.

Sintaks

array_sort(array, func)

Argumen

  • array: Ekspresi yang mengevaluasi ke array.
  • func: Fungsi lambda yang mendefinisikan urutan sortir.

Kembali

Jenis hasil cocok dengan jenis array.

Jika func dihilangkan, array diurutkan dalam urutan naik.

Jika func disediakan dibutuhkan dua argumen yang mewakili dua elemen array.

Fungsi harus mengembalikan -1, 0, atau 1 tergantung pada apakah elemen pertama kurang dari, sama dengan, atau lebih besar dari elemen kedua.

func Jika mengembalikan nilai lain (termasuk NULL), array_sort gagal dan menimbulkan kesalahan.

Elemen NULL ditempatkan di akhir array yang dikembalikan.

Contoh

> SELECT array_sort(array(5, 6, 1),
                   (left, right) -> CASE WHEN left < right THEN -1
                                         WHEN left > right THEN 1 ELSE 0 END);
 [1,5,6]
> SELECT array_sort(array('bc', 'ab', 'dc'),
                    (left, right) -> CASE WHEN left IS NULL and right IS NULL THEN 0
                                          WHEN left IS NULL THEN -1
                                          WHEN right IS NULL THEN 1
                                          WHEN left < right THEN 1
                                          WHEN left > right THEN -1 ELSE 0 END);
 [dc,bc,ab]
> SELECT array_sort(array('b', 'd', null, 'c', 'a'));
 [a,b,c,d,NULL]