array_sort 함수

적용 대상:검사 예 Databricks SQL 검사 예 Databricks Runtime으로 표시됨

에 따라 정렬된 를 반환 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]