array_sort
Işlev
Şunun için geçerlidir: Databricks SQL denetimi yes Databricks Runtime
öğesine göre sıralanmış olarak func
döndürürarray
.
Sözdizimi
array_sort(array, func)
Bağımsız değişken
array
: Diziyi değerlendiren bir ifade.func
: Sıralama düzenini tanımlayan bir lambda işlevi.
Döndürür
Sonuç türü türüyle eşleşir array
.
Atlanırsa func
, dizi artan düzende sıralanır.
Sağlanırsa func
, dizinin iki öğesini temsil eden iki bağımsız değişken alır.
İşlev, ilk öğenin ikinci öğeden küçük, buna eşit veya ondan büyük olmasına bağlı olarak -1, 0 veya 1 döndürmelidir.
diğer func
değerleri döndürürse (NULL dahil), array_sort
başarısız olur ve bir hata oluşturur.
NULL öğeler, döndürülen dizinin sonuna yerleştirilir.
Örnekler
> 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]