在 PostgreSQL 中将 varchar(255) 类型的列转换为日期类型

问题描述

我是 sql 新手,我正在尝试将 varchar(255) 类型的列转换为 datetime (yyyy-mm-dd)。我找到了一些转换一个元素的建议,但如何将整列转换为新的数据类型?

我的表是 mydemo,要转换的列是 ordertime,它只包含有效的日期时间字符串:

  • 2021-05-13
  • 2021-05-12
  • 2021-05-10

有人可以帮我吗?

解决方法

如果所有行都具有有效的日期时间值,您可以使用以下命令进行操作:

alter table mydemo
alter column ordertime type timestamp USING ordertime::timestamp without time zone;