singleValueOrNull
도입 버전: v21.9.0
집계 함수 singleValueOrNull은 x = ALL (SELECT ...)와 같은 서브쿼리 연산자를 구현할 때 사용됩니다. 이 함수는 데이터에 NULL이 아닌 고유한 값이 정확히 하나만 있는지 확인합니다.
고유한 값이 하나뿐이면 해당 값을 반환합니다. 값이 없거나 서로 다른 값이 2개 이상이면 NULL을 반환합니다.
구문
singleValueOrNull(x)인수
x— Map, Array 또는 Tuple을 제외한 모든 데이터 타입의 컬럼으로, Nullable 타입일 수 없습니다.Any
반환 값
x에 NULL이 아닌 고유 값이 하나만 있으면 해당 값을 반환합니다. 값이 없거나 서로 다른 값이 2개 이상이면 NULL을 반환합니다. Any 또는 NULL
예시
단일 고유 값
CREATE TABLE test (x UInt8 NULL) ENGINE=Log;
INSERT INTO test (x) VALUES (NULL), (NULL), (5), (NULL), (NULL);
SELECT singleValueOrNull(x) FROM test;┌─singleValueOrNull(x)─┐
│ 5 │
└──────────────────────┘서로 다른 값이 여러 개
INSERT INTO test (x) VALUES (10);
SELECT singleValueOrNull(x) FROM test;┌─singleValueOrNull(x)─┐
│ ᴺᵁᴸᴸ │
└──────────────────────┘