GREATEST_IGNORE_NULLS

GREATEST_IGNORE_NULLS

표현식 목록에서 가장 큰 NULL이 아닌 값을 반환해요. GREATEST_IGNORE_NULLS는 VARIANT를 포함한 모든 데이터 타입을 지원해요.

출처: Snowflake SQL Reference - GREATEST_IGNORE_NULLS

본문

구문

GREATEST_IGNORE_NULLS( <expr1> [ , <expr2> ... ] )

인자

인자는 최소한 하나의 표현식을 포함해야 해요. 모든 표현식은 같은 타입이거나 호환 가능한 타입이어야 해요.

반환 값

첫 번째 인자가 반환 타입을 결정해요.

  • 첫 번째 타입이 숫자면 반환 타입은 모든 인자의 목록에 있는 숫자 타입에 따라 '넓혀집니다(widened)'.
  • 첫 번째 타입이 숫자가 아니면 다른 모든 인자는 첫 번째 타입으로 변환 가능해야 해요.

모든 인자가 NULL이면 NULL을 반환해요.

컬레이션 상세

  • 모든 입력 인자의 컬레이션 지정은 호환 가능해야 해요.
  • 비교는 입력 인자의 컬레이션과 우선순위에 따라 수행돼요.
  • 함수 결과의 컬레이션은 입력 중 우선순위가 가장 높은 컬레이션이에요.

예시

테이블을 만들고 몇 개의 값을 삽입해요.

CREATE TABLE test_greatest_ignore_nulls (
  col_1 INTEGER,
  col_2 INTEGER,
  col_3 INTEGER,
  col_4 FLOAT);

INSERT INTO test_greatest_ignore_nulls (col_1, col_2, col_3, col_4) VALUES
  (1, 2,    3,  4.25),
  (2, 4,   -1,  NULL),
  (3, 6, NULL,  -2.75);

테이블의 각 행에서 가장 큰 NULL이 아닌 값을 반환하는 SELECT 문을 실행해요.

SELECT col_1,
       col_2,
       col_3,
       col_4,
       GREATEST_IGNORE_NULLS(col_1, col_2, col_3, col_4) AS greatest_ignore_nulls
 FROM test_greatest_ignore_nulls
 ORDER BY col_1;

+-------+-------+-------+-------+-----------------------+
| COL_1 | COL_2 | COL_3 | COL_4 | GREATEST_IGNORE_NULLS |
|-------+-------+-------+-------+-----------------------|
|     1 |     2 |     3 |  4.25 |                  4.25 |
|     2 |     4 |    -1 |  NULL |                  4    |
|     3 |     6 |  NULL | -2.75 |                  6    |
+-------+-------+-------+-------+-----------------------+

더 알아보기