array_sort함수(Databricks SQL)

array 따라 정렬된 를 반환합니다. func

구문

array_sort(array, func)

인수

  • array: 배열로 계산되는 식입니다.
  • func: 정렬 순서를 정의하는 람다 함수입니다.

반환

결과 형식은 의 형식과 array 일치합니다.

func를 생략하면 배열이 오름차순으로 정렬됩니다.

func가 제공되면 배열의 두 요소를 나타내는 두 개의 인수를 받습니다.

함수는 첫 번째 요소가 두 번째 요소보다 작은지, 같은지 또는 큰지에 따라 -1, 0 또는 1을 반환해야 합니다.

func 다른 값(NULL 포함)을 반환하면 가 array_sort 실패하고 오류가 발생합니다.

NULL 요소는 반환된 배열의 끝에 배치됩니다.

예제

> 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]