GREATEST_IGNORE_NULLS
GREATEST_IGNORE_NULLS
표현식 목록에서 가장 큰 NULL이 아닌 값을 반환해요. GREATEST_IGNORE_NULLS는 VARIANT를 포함한 모든 데이터 타입을 지원해요.
본문
구문
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 |
+-------+-------+-------+-------+-----------------------+