在Postgres数据库中,我有一个表,其中一列中的日期为字符变化数据类型。其格式为dd MMM yyyy HH:mm
。
例如:21 Sep 2012 12:23
。
有没有办法在timemat中转换它,以便我可以将它与当前时间(即now()
- 函数)进行比较?
答案 0 :(得分:4)
SET DATA TYPE
语句中有USING
和ALTER TABLE
个部分。如果您想永久修复该列。
ALTER TABLE foo
ALTER COLUMN my_time_stamp SET DATA TYPE timestamp
USING to_timestamp(my_time_stamp);
请参阅docs
答案 1 :(得分:2)
您正在寻找to_timestamp
功能:
SELECT to_timestamp('21 Sep 2012 12:23', 'DD Mon YYYY HH24:MI')
答案 2 :(得分:2)
我在某处读过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')