我有一个文本列指示日期,即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