콘텐츠로 이동

Nullable 유형에 대해 동일한 Nullable이 아닌 값을 반환합니다. 원래 값이 NULL인 경우 결과는 정해지지 않습니다.

func.assume_not_null(<x>)
With a table like:
┌────────────────────┐
│ x │ y │
├────────────────────┤
│ 1 │ NULL │
│ 2 │ 3 │
└────────────────────┘
func.assume_not_null(y)
┌─────────────────────────┐
│ func.assume_not_null(y) │
├─────────────────────────┤
│ 0 │
│ 3 │
└─────────────────────────┘
ASSUME_NOT_NULL(<x>)

Nullable이 아닌 유형에서는 원래 데이터 유형을 반환하고, Nullable 유형에서는 내장된 Nullable이 아닌 데이터 유형을 반환합니다.

CREATE TABLE default.t_null ( x int, y int null);
INSERT INTO default.t_null values (1, null), (2, 3);
SELECT ASSUME_NOT_NULL(y), REMOVE_NULLABLE(y) FROM t_null;
┌─────────────────────────────────────────┐
│ assume_not_null(y) │ remove_nullable(y) │
├────────────────────┼────────────────────┤
│ 0 │ 0 │
│ 3 │ 3 │
└─────────────────────────────────────────┘