メインコンテンツへスキップ

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 つだけの場合
Query
CREATE TABLE test (x UInt8 NULL) ENGINE=Log;
INSERT INTO test (x) VALUES (NULL), (NULL), (5), (NULL), (NULL);
SELECT singleValueOrNull(x) FROM test;
Response
┌─singleValueOrNull(x)─┐
│                    5 │
└──────────────────────┘
複数の異なる値
Query
INSERT INTO test (x) VALUES (10);
SELECT singleValueOrNull(x) FROM test;
Response
┌─singleValueOrNull(x)─┐
│                 ᴺᵁᴸᴸ │
└──────────────────────┘
最終更新日 2026年6月10日