在 Postgres 数据库中,我有一个表,其中一个列将日期作为字符变化数据类型保存。它的格式是dd MMM yyyy HH:mm
.
例如:21 Sep 2012 12:23
.
有没有办法将它转换为时间戳 fromat 以便我可以将它与当前时间(即now()
函数)进行比较?
在 Postgres 数据库中,我有一个表,其中一个列将日期作为字符变化数据类型保存。它的格式是dd MMM yyyy HH:mm
.
例如:21 Sep 2012 12:23
.
有没有办法将它转换为时间戳 fromat 以便我可以将它与当前时间(即now()
函数)进行比较?
有SET DATA TYPE
和USING
部分的ALTER TABLE
声明。如果您想永久修复该列。
ALTER TABLE foo
ALTER COLUMN my_time_stamp SET DATA TYPE timestamp
USING to_timestamp(my_time_stamp);
查看文档
您正在寻找to_timestamp
功能:
SELECT to_timestamp('21 Sep 2012 12:23', 'DD Mon YYYY HH24:MI')
我在某处读到过关于 to_timestamp 的文章试试这个to_timestamp(text, text)
functionname:---to_timestamp(text, text)
returntype---timestamp with time zone
its function---convert string to time stamp
例子:to_timestamp('05 Dec 2000', 'DD Mon YYYY')