GREATEST

GREATEST (최댓값)

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

참조: GREATEST_IGNORE_NULLS

출처: Snowflake SQL Reference - GREATEST

본문

구문

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

인자

인자는 적어도 하나의 표현식을 포함해야 해요. 모든 표현식은 같은 타입이거나 호환되는 타입이어야 해요.

반환 값

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

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

어떤 인자가 NULL이면 NULL을 반환해요.

데이터 정렬 세부 정보

  • 모든 입력 인자의 데이터 정렬 사양은 호환되어야 해요.
  • 비교는 입력 인자의 데이터 정렬과 우선순위에 기반한 데이터 정렬을 따르며 이루어져요.
  • 함수 결과의 데이터 정렬은 입력 중 가장 높은 우선순위의 데이터 정렬이에요.

예시

다음 예시들은 GREATEST 함수를 사용해요:

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

INSERT INTO test_table_1_greatest (col_1, col_2, col_3, col_4)
  VALUES
  (1, 2,    3,   4.00),
  (2, 4,   -1,  -2.00),
  (3, 6,  NULL, 13.45);
SELECT col_1,
       col_2,
       col_3,
       GREATEST(col_1, col_2, col_3) AS greatest
  FROM test_table_1_greatest
  ORDER BY col_1;
+-------+-------+-------+----------+
| COL_1 | COL_2 | COL_3 | GREATEST |
|-------+-------+-------+----------|
|     1 |     2 |     3 |        3 |
|     2 |     4 |    -1 |        4 |
|     3 |     6 |  NULL |     NULL |
+-------+-------+-------+----------+
SELECT col_1,
       col_4,
       GREATEST(col_1, col_4) AS greatest
  FROM test_table_1_greatest
  ORDER BY col_1;
+-------+-------+----------+
| COL_1 | COL_4 | GREATEST |
|-------+-------+----------|
|     1 |  4    |     4    |
|     2 | -2    |     2    |
|     3 | 13.45 |    13.45 |
+-------+-------+----------+

더 알아보기