array_sort
Funkció
A következőre vonatkozik: Databricks SQL Databricks Runtime
A szerint func
rendezett értéket ad array
vissza.
Szintaxis
array_sort(array, func)
Argumentumok
array
: Tömbre kiértékelt kifejezés.func
: A rendezési sorrendet meghatározó lambda függvény.
Visszatérési érték
Az eredmény típusa megegyezik a típusával array
.
Ha func
nincs megadva, a tömb növekvő sorrendben lesz rendezve.
Ha func
meg van adva, két argumentumot vesz fel, amelyek a tömb két elemét képviselik.
A függvénynek -1, 0 vagy 1 értéket kell visszaadnia attól függően, hogy az első elem kisebb, egyenlő vagy nagyobb, mint a második elem.
Ha a függvény más értékeket ad vissza (beleértve a func
NULL értéket is), array_sort
az sikertelen lesz, és hibát jelez.
A null értékű elemek a visszaadott tömb végére kerülnek.
Példák
> 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]