在postgres中将text/string转换为日期时,会生成随机日期



我有一个文本列指示日期,即20170101

UPDATE table_name
SET  work_date = to_date(workdate, 'YYYYMMDD');

我使用此命令将其转换为日期。然而,我得到了一个奇怪的结果。我阅读了其他现有的帖子,但不确定这里出了什么问题。

+----------+---------------+
| workdate |   work_date   |
+----------+---------------+
| 20170211 | 2207-05-09    |
| 20170930 | 2209-04-27    |
| 20170507 | 2208-02-29    |
| 20170318 | 2207-08-24    |
+----------+---------------+

我认为您对提供给to_date的数据肯定有误。

例如,这些函数的输入不受正常范围的限制,因此to_date("20096040","YYYYMMDD"(返回2014-01-17,而不是导致错误。

来源:https://www.postgresql.org/docs/9.6/static/functions-formatting.html

相关内容

  • 没有找到相关文章

最新更新