

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

# TO\$1DATE 函数
<a name="r_TO_DATE_function"></a>

TO\$1DATE 会将以字符串形式表示的日期转换为 DATE 数据类型。

**注意**  
TO\$1DATE 不支持带有 Q（季度编号）的格式字符串。

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

```
TO_DATE(string, format)
```

```
TO_DATE(string, format, is_strict)
```

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

 *string*   
要转换的字符串。

 *format*   
一个字符串文本，用于定义其日期部分中的输入*字符串*格式。有关有效日期、月份和年份格式的列表，请参阅[日期时间格式字符串](r_FORMAT_strings.md)。

 *is\$1strict*   
一个可选的布尔值，它指定在输入日期值超出范围时是否返回错误。当 *is\$1strict* 被设置为 `TRUE` 时，如果存在超出范围的值，则返回错误。当 *is\$1strict* 被设置为 `FALSE`（默认值）时，则接受溢出值。

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

TO\$1DATE 将根据 *format* 值返回 DATE。

如果转换为*格式* 失败，则返回错误。

## 示例
<a name="r_TO_DATE_function-example"></a>

 以下 SQL 语句将日期 `02 Oct 2001` 转换为日期数据类型。

```
select to_date('02 Oct 2001', 'DD Mon YYYY');

to_date
------------
2001-10-02
(1 row)
```

 以下 SQL 语句将字符串 `20010631` 转换为日期。

```
select to_date('20010631', 'YYYYMMDD', FALSE);
```

结果是 2001 年 7 月 1 日，因为六月份只有 30 天。

```
to_date
------------
2001-07-01
```

 以下 SQL 语句将字符串 `20010631` 转换为日期：

```
to_date('20010631', 'YYYYMMDD', TRUE);
```

结果产生错误，因为 6 月只有 30 天。

```
ERROR:  date/time field date value out of range: 2001-6-31
```