to_date() 是一个系统函数,用于使用指定的格式将日期的字符串表示形式转换为 DATE 数据类型。
to_date() 在 PostgreSQL 7.0 中被添加。
用法
to_date (text,text) →date
to_date() 使用指定的格式将提供的字符串转换为 DATE 值;有关详细信息,请参阅 PostgreSQL 文档的 日期/时间格式模板模式 部分。
请注意,许多标准的日期格式可以通过简单的类型转换转换为 DATE 值;to_date() 主要用于转换格式模棱两可或无法通过类型转换转换的日期。
变更历史
- PostgreSQL 10
- 输入字段范围检查已收紧(提交 d3cd36a1)
- PostgreSQL 7.0
- 已添加(提交 b866d2e2)
示例
to_date() 的基本用法示例
postgres=# SELECT to_date('25 Dec 2020', 'DD Mon YYYY');
to_date
------------
2020-12-25
(1 row)
请注意,许多常见的日期格式都可以通过简单的类型转换来转换,例如:
postgres=# SELECT '7/4/2021'::DATE;
date
------------
2021-04-07
(1 row)
然而,如果源日期采用非标准表示形式,例如美国常用的 月/日/年 样式,则需要使用 to_date()。
postgres=# SELECT to_date('7/4/2021', 'MM/DD/YYYY');
to_date
------------
2021-07-04
(1 row)
尝试转换无效的日期表示形式
postgres=# SELECT to_date('99 Dec 2020', 'DD Mon YYYY');
ERROR: date/time field value out of range: "99 Dec 2020"
参考资料
- PostgreSQL documentation: Formatting Functions
- PostgreSQL documentation: Template Patterns for Date/Time Formatting
有用链接
- ISO 8601 - XKCD 的视觉解释
另请参阅
反馈
请在此处 提交关于“to_date()”的任何评论、建议或更正。