Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

singleValueOrNull

singleValueOrNull

導入バージョン: v21.9.0

集約関数 singleValueOrNull は、x = ALL (SELECT ...) のようなサブクエリ演算子を実装するために使用されます。データ内に一意な非 NULL 値が 1 つだけ存在するかどうかを確認します。 一意な値が 1 つだけ存在する場合は、その値を返します。値が存在しないか、異なる値が 2 つ以上存在する場合は、NULL を返します。

構文

singleValueOrNull(x)

引数

  • x — Nullable 型にできない、Map、Array、Tuple を除く任意のデータ型のカラム。Any

戻り値

x に一意な非 NULL 値が 1 つだけある場合は、その値を返します。異なる値が存在しない場合、または 2 つ以上ある場合は NULL を返します。Any または NULL

一意な値が 1 つだけの場合

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)─┐
│                 ᴺᵁᴸᴸ │
└──────────────────────┘
Navigation