我有一个文本列,指示日期,即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 |
+----------+---------------+
答案 0 :(得分:0)
我认为您应该误认为要提供给to_date
的数据。
例如,这些功能的输入不受正常范围的限制,因此to_date('20096040','YYYYMMDD')返回2014-01-17而不是导致错误。
来源:https://www.postgresql.org/docs/9.6/static/functions-formatting.html