> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-fix-nav-issues.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> 聚合函数 `singleValueOrNull` 用于实现子查询运算符，例如 `x = ALL (SELECT ...)`。它会检查数据中是否仅存在一个唯一的非 NULL 值。

# singleValueOrNull

<div id="singleValueOrNull">
  ## singleValueOrNull
</div>

首次引入版本：v21.9.0

聚合函数 `singleValueOrNull` 用于实现子查询运算符，例如 `x = ALL (SELECT ...)`。它会检查数据中是否仅存在一个唯一的非 NULL 值。
如果只有一个唯一值，则返回该值；如果没有值，或至少有两个不同的值，则返回 NULL。

**语法**

```sql theme={null}
singleValueOrNull(x)
```

**参数**

* `x` — 任意数据类型的列，但不能是 `Map`、`Array` 或 `Tuple`，且其类型不能为 `Nullable`。[`Any`](/zh/reference/data-types)

**返回值**

如果 `x` 中只有一个非 `NULL` 的唯一值，则返回该值。如果没有值，或存在至少两个不同的值，则返回 `NULL`。[`Any`](/zh/reference/data-types) 或 [`NULL`](/zh/reference/syntax#null)

**示例**

**单个唯一值**

```sql title=Query theme={null}
CREATE TABLE test (x UInt8 NULL) ENGINE=Log;
INSERT INTO test (x) VALUES (NULL), (NULL), (5), (NULL), (NULL);
SELECT singleValueOrNull(x) FROM test;
```

```response title=Response theme={null}
┌─singleValueOrNull(x)─┐
│                    5 │
└──────────────────────┘
```

**多个不同值**

```sql title=Query theme={null}
INSERT INTO test (x) VALUES (10);
SELECT singleValueOrNull(x) FROM test;
```

```response title=Response theme={null}
┌─singleValueOrNull(x)─┐
│                 ᴺᵁᴸᴸ │
└──────────────────────┘
```
