ARRAY_REMOVE_AT

ARRAY_REMOVE_AT

소스 ARRAY가 주어지면, 지정한 위치의 요소가 제거된 ARRAY를 반환하는 함수예요. 배열의 특정 인덱스 요소를 지우고 싶을 때 씁니다.

출처: Snowflake SQL Reference

본문

예를 들어 ARRAY_REMOVE_AT([2, 5, 7], 0)은 0번 위치의 요소가 제거된 ARRAY([5, 7])를 반환해요.

ARRAY_REMOVE_AT( <array> , <position> )

<array> — 소스 배열이에요.

<position> — 제거할 요소의 (0부터 시작하는) 위치예요. 함수는 이 위치의 요소를 제거해요. 음수 위치는 배열 뒤에서부터 세는 인덱스로 해석돼요(예: -1은 배열의 마지막 요소를 제거).

지정한 위치의 요소가 제거된 ARRAY를 반환해요. position이 NULL이면 NULL을 반환해요.

사용 메모 — position의 절대값이 array의 길이를 초과하면, 아무 요소도 제거하지 않고 array를 그대로 반환해요.

예시 — 첫 번째 요소 제거:

SELECT ARRAY_REMOVE_AT(
  [2, 5, 7],
  0);
+-------------------------------+
| ARRAY_REMOVE_AT([2, 5, 7], 0) |
|-------------------------------|
| [                             |
|   5,                          |
|   7                           |
| ]                             |
+-------------------------------+

마지막 요소를 제거할 수도 있어요.

SELECT ARRAY_REMOVE_AT(
  [2, 5, 7],
  -1);
+--------------------------------+
| ARRAY_REMOVE_AT([2, 5, 7], -1) |
|--------------------------------|
| [                              |
|   2,                           |
|   5                            |
| ]                              |
+--------------------------------+

더 알아보기 (Learn more)