メインコンテンツまでスキップ
メインコンテンツまでスキップ

singleValueOrNull

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

構文

singleValueOrNull(x)

パラメーター

返される値

  • x に一意の非NULL値が1つだけ存在する場合、その一意の値。
  • ゼロまたは少なくとも2つの異なる値がある場合は、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)─┐
│                 ᴺᵁᴸᴸ │
└──────────────────────┘