Postgresql中字符串转时间戳

3

问题

如何将字符串转换为时间戳?

我找到的所有答案和官方文档都只介绍了如何使用to_timestamp函数将字符串列转换为时间戳,但是对于单个字符串似乎无效。

我的尝试

to_timestamp('2019-09-20 13:59', 'DD-MM-YYYY HH24:MI:SS')

Cast('2019-09-20 13:59' as timestamp)

我想要做的事情

我想要给一个表格添加一列,并将这个日期作为重复值。

-- Creating timestamp column
ALTER TABLE my_table ADD creation_date timestamp

-- Repeating timestamp 
UPDATE my_table  SET creation_date = TO_TIMESTAMP('2019-09-20 13:59', 'YYYY-MM-DD HH24:MI')

1
你的问题是什么?你展示的代码完全可以正常工作:https://rextester.com/GQC96126 - user330315
问题在于,除非在代码前面写上“select”,否则代码会失败。 - Esben Eickhardt
1个回答

7
你可以尝试以下操作-将日期时间格式掩码从'DD-MM-YYYY HH24:MI:SS'改为'YYYY-MM-DD HH24:MI:SS'

演示

select to_timestamp('2019-09-20 13:59', 'YYYY-MM-DD HH24:MI:SS')

哦,所以错误信息是因为你不能不选择就直接运行它? - Esben Eickhardt
谢谢!我遇到了一个情况,其中一个“日期”列被错误地定义为带有ISO 8061值的“文本”,我进行了以下操作:to_timestamp(date, 'YYYY-MM-DD"T"HH24:MI:SS') - mks-d

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接