새 함수: ARRAY_SORT, ARRAY_MIN, ARRAY_MAX는 비슷한 이름의 UDF와 충돌할 수 있음¶
현재 릴리스에서 Snowflake는 다음 이름과 서명을 가진 기본 제공 함수를 새로 도입합니다.
ARRAY_SORT는 입력 ARRAY의 요소를 정렬된 순서로 반환합니다. 이 함수에는 다음과 같은 서명이 있습니다.
ARRAY_SORT(input_array)
배열 끝에 NULL을 배치하여 요소를 오름차순으로 정렬합니다.
ARRAY_SORT(input_array, sort_ascending)
sort_ascending
이 TRUE이면 요소를 오름차순으로 정렬하고,sort_ascending
이 FALSE이면 요소를 내림차순으로 정렬합니다.NULL은
sort_ascending
이 TRUE이면 마지막으로 정렬되고,sort_ascending
이 FALSE이면 첫 번째로 정렬됩니다.ARRAY_SORT(input_array, sort_ascending, nulls_first)
sort_ascending
이 TRUE이면 요소를 오름차순으로 정렬하고,sort_ascending
이 FALSE이면 요소를 내림차순으로 정렬합니다.NULL은
nulls_first
가 TRUE이면 첫 번째로 정렬되고,nulls_first
가 FALSE이면 마지막으로 정렬됩니다.
이 함수는 서로 다른 두 숫자 또는 타임스탬프 유형(또는 이러한 유형을 포함하는 오브젝트)의 값을 비교할 때 안정적인 정렬을 제공하는 것으로 보장되지 않습니다.
ARRAY_MIN은 입력 배열에서 정의된 최소 요소를 반환합니다.
ARRAY_MAX는 입력 배열에서 정의된 최대 요소를 반환합니다.
동일한 서명을 가진 ARRAY_SORT, ARRAY_MIN 또는 ARRAY_MAX라는 UDF가 있는 경우 이 동작 변경은 다음과 같은 효과가 있습니다.
- 이전:
ARRAY_SORT, ARRAY_MIN 또는 ARRAY_MAX에 대한 호출은 UDF로 확인됩니다.
- 현재:
ARRAY_SORT, ARRAY_MIN 또는 ARRAY_MAX에 대한 호출은 새로운 기본 제공 함수로 확인됩니다.
기본 제공 함수는 UDF와 다르게 작동할 수 있습니다.
새로운 기본 제공 함수의 문서화된 의미 체계가 UDF의 의미 체계와 일치하지 않을 경우 다음 중 하나를 수행할 수 있습니다.
(ALTER FUNCTION … RENAME TO … 를 사용하여) UDF의 이름을 바꾸고 원래 UDF 이름에 대한 모든 참조를 새 이름으로 바꿉니다.
UDF를 포함하는 데이터베이스와 스키마의 이름을 지정하여 UDF에 대한 모든 참조를 </sql-reference/name-resolution>정규화합니다. 예:
SELECT my_database.my_schema.array_sort(...);
참조: 1135