다음을 통해 공유


array_sort 기능

적용 대상: 예(예)로 표시된 확인 Databricks SQL 예(예)로 표시된 확인 Databricks 런타임

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

구문

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]