Bagikan melalui


array_sort fungsi

Berlaku untuk:centang ditandai ya Databricks SQL centang ditandai ya Databricks Runtime

Menghasilkan array yang diurutkan menurut func.

Sintaks

array_sort(array, func)

Argumen

  • array: Ekspresi yang mengevaluasi ke array.
  • func: Fungsi lambda yang menentukan urutan pengurutan.

Mengembalikan

Jenis hasilnya cocok dengan jenis array.

Jika func dihilangkan, array diurutkan dalam urutan menaik.

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

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

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

Elemen NULL akan 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]