Fonction array_sort
S’applique à : Databricks SQL Databricks Runtime
Retourne array
trié en fonction de func
.
Syntaxe
array_sort(array, func)
Arguments
array
: Expression qui prend la valeur d’un tableau.func
: Fonction lambda définissant l'ordre de tri.
Retours
Le type de résultat correspond au type de array
.
Si func
est omise, le tableau est trié par ordre croissant.
Si func
est fournie, elle prend deux arguments représentant deux éléments du tableau.
La fonction doit retourner -1, 0 ou 1 selon que le premier élément est inférieur, égal ou supérieur au deuxième élément.
Si func
renvoie d'autres valeurs (y compris NULL), array_sort
échoue et génère une erreur.
Les éléments NULL sont placés à la fin du tableau retourné.
Exemples
> 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]