

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

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

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

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

```
TO_DATE (date_str)
```

```
TO_DATE (date_str, format)
```

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

 *date\$1str*   
可以转换为日期字符串的日期字符串或数据类型。

 *format*   
与 Spark 的日期时间模式相匹配的字符串文字。有关有效的日期时间模式，请参阅[用于格式化和解析的日期时间模式](https://spark.apache.org/docs/latest/sql-ref-datetime-pattern.html)。

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

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

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

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

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

```
select to_date('02 Oct 2001', 'dd MMM yyyy');

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

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

```
select to_date('20010631', 'yyyyMMdd');
```

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

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

结果为空值，因为六月份只有 30 天。

```
to_date
------------
NULL
```