

 2026 年 6 月 30 日之后，Amazon Redshift 不再支持使用 Python UDF。我们将分阶段开始执行。有关 Python 生命周期终止和迁移选项详情的更多信息，请参阅 2025 年 6 月 30 日发布的[博客文章](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)。

# TRUNC 函数
<a name="r_TRUNC_date"></a>

截断 `TIMESTAMP` 并返回 `DATE`。

 此函数也可以截断数值。有关更多信息，请参阅 [TRUNC 函数](r_TRUNC.md)。

## 语法
<a name="r_TRUNC_date-synopsis"></a>

```
TRUNC(timestamp)
```

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

 *timestamp*   
数据类型为 `TIMESTAMP` 的列，或一个隐式计算结果为 `TIMESTAMP` 类型的表达式。  
要返回以 `00:00:00` 作为时间的时间戳值，请将函数结果强制转换为 `TIMESTAMP`。

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

DATE

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

以下示例返回 SYSDATE 函数（返回时间戳）的结果的日期部分。

```
SELECT SYSDATE;

+----------------------------+
|         timestamp          |
+----------------------------+
| 2011-07-21 10:32:38.248109 |
+----------------------------+

SELECT TRUNC(SYSDATE);

+------------+
|   trunc    |
+------------+
| 2011-07-21 |
+------------+
```

以下示例将 TRUNC 函数应用于 `TIMESTAMP` 列。返回类型为日期。

```
SELECT TRUNC(starttime) FROM event
ORDER BY eventid LIMIT 1;

+------------+
|   trunc    |
+------------+
| 2008-01-25 |
+------------+
```

以下示例通过将 TRUNC 函数结果强制转换为 `TIMESTAMP` 来返回时间戳值，其中 `00:00:00` 为时间。

```
SELECT CAST((TRUNC(SYSDATE)) AS TIMESTAMP);

+---------------------+
|        trunc        |
+---------------------+
| 2011-07-21 00:00:00 |
+---------------------+
```