

 从补丁 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/)。

# AT TIME ZONE 函数
<a name="r_AT_TIME_ZONE"></a>

AT TIME ZONE 指定要与 TIMESTAMP 或 TIMESTAMPTZ 表达式一起使用的时区。

## 语法
<a name="r_AT_TIME_ZONE-syntax"></a>

```
AT TIME ZONE 'timezone'
```

## 参数
<a name="r_AT_TIME_ZONE-arguments"></a>

*timezone*  
返回值的 `TIMEZONE`。该时区可以指定为时区名称（例如 **'Africa/Kampala'** 或者 **'Singapore'**）或作为时区缩写（例如 **'UTC'** 或者 **'PDT'**）。  
要查看支持的时区名称的列表，请执行以下命令。  

```
select pg_timezone_names();
```
 要查看支持的时区缩写的列表，请执行以下命令。  

```
select pg_timezone_abbrevs();
```
 有关更多信息以及示例，请参阅 [时区使用说明](CONVERT_TIMEZONE.md#CONVERT_TIMEZONE-usage-notes)。

## 返回类型
<a name="r_AT_TIME_ZONE-return-type"></a>

与 TIMESTAMP 表达式一起使用时的 TIMESTAMPTZ。与 TIMESTAMPTZ 表达式一起使用时的 TIMESTAMP。

## 示例
<a name="r_AT_TIME_ZONE-examples"></a>

以下示例转换不带时区的时间戳值，并将其解释为 MST 时间（POSIX 中的 UTC\$17）。该示例返回 UTC 时区的数据类型为 TIMESTAMPTZ 的值。如果将默认时区配置为 UTC 以外的时区，可能会出现不同的结果。

```
SELECT TIMESTAMP '2001-02-16 20:38:40' AT TIME ZONE 'MST';

timezone
------------------------
2001-02-17 03:38:40+00
```

以下示例采用带有时区值的输入时间戳，其中指定时区为 EST（POSIX 中的 UTC\$15），然后将其转换为 MST（POSIX 中的 UTC\$17）。该示例返回一个数据类型为 TIMESTAMP 的值。

```
SELECT TIMESTAMPTZ '2001-02-16 20:38:40-05' AT TIME ZONE 'MST';

timezone
------------------------
2001-02-16 18:38:40
```