

 从补丁 198 开始，Amazon Redshift 将不再支持创建新的 Python UDF。现有的 Python UDF 将继续正常运行至 2026 年 6 月 30 日。有关更多信息，请参阅[博客文章](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)。

# ANY\$1VALUE 函数
ANY\$1VALUE

ANY\$1VALUE 函数以非确定方式返回输入表达式值中的任何值。如果输入表达式未导致任何行被返回，则此函数返回 `NULL`。如果输入表达式中有 `NULL` 值，则此函数也可以返回 `NULL`。如果输入包含 `NULL` 值并混有非 `NULL` 值，则可能会返回 `NULL`。如果所有值都是 `NULL`，则返回 `NULL`。如果没有符合条件的行，则返回 `NULL`。

## 语法
语法

```
ANY_VALUE( [ DISTINCT | ALL ] expression )
```

## 参数
参数

DISTINCT \$1 ALL  
指定 DISTINCT 或 ALL 以从输入表达式值中返回任何值。DISTINCT 参数没有任何效果，将被忽略。

 *expression*   
对其执行函数的目标列或表达式。*表达式*为以下数据类型之一：  
+ SMALLINT
+ INTEGER
+ BIGINT
+ DECIMAL
+ REAL
+ DOUBLE PRECISON
+ BOOLEAN
+ CHAR
+ VARCHAR
+ DATE
+ TIMESTAMP
+ TIMESTAMPTZ
+ TIME
+ TIMETZ
+ INTERVAL YEAR TO MONTH
+ INTERVAL DAY TO SECOND
+ VARBYTE
+ SUPER
+ HLLSKETCH
+ GEOMETRY
+ GEOGRAPHY

## 返回值


返回与 *expression* 相同的数据类型。

## 使用说明


如果为列指定 ANY\$1VALUE 函数的语句也包含第二列引用，则第二列必须出现在 GROUP BY 子句中或包含在聚合函数中。

## 示例
示例

这些示例使用在《Amazon Redshift 入门指南》的[步骤 4：从 Amazon S3 中加载示例数据](https://docs.aws.amazon.com/redshift/latest/gsg/rs-gsg-create-sample-db.html)中创建的事件表。以下示例返回事件名称为 Eagles. 的任何日期 ID 的实例。

```
select any_value(dateid) as dateid, eventname from event where eventname ='Eagles' group by eventname;
```

以下是结果。

```
dateid | eventname
-------+---------------
 1878  | Eagles
```

以下示例返回事件名称为 Eagles 或 Cold War Kids 的任何日期 ID 的实例。

```
select any_value(dateid) as dateid, eventname from event where eventname in('Eagles', 'Cold War Kids') group by eventname;
```

以下是结果。

```
dateid | eventname
-------+---------------
 1922  | Cold War Kids
 1878  | Eagles
```