array_sort
function
Applies to: Databricks SQL Databricks Runtime
Returns array
sorted according to func
.
Syntax
array_sort(array, func)
Arguments
array
: An expression that evaluates to an array.func
: A lambda function defining the sort order.
Returns
The result type matches the type of array
.
If func
is omitted, the array is sorted in ascending order.
If func
is provided it takes two arguments representing two elements of the array.
The function must return -1, 0, or 1 depending on whether the first element is less than, equal to, or greater than the second element.
If the func
returns other values (including NULL), array_sort
fails and raises an error.
NULL elements are placed at the end of the returned array.
Examples
> 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]