PostgreSQL解析十进制秒

时间:2016-05-09 12:07:22

标签: sql postgresql

我想解析一个字符串

'16:25:20.6598412Z'

作为没有时区的TIMESTAMP

我使用的功能是:

TO_TIMESTAMP('16:25:20.6598412Z', 'HH24:MI:SS.MSUS')

但结果是:

16:25:21.5002+01

这不是同一时间:

16:25:20.6598412

1 个答案:

答案 0 :(得分:0)

你不能在一次MS电话中使用USto_timezone - 微秒也是毫秒(以及更多)所以引擎如何知道如何解析字符串?

相反,你应该使用

    TO_TIMESTAMP('16:25:20.6598412Z', 'HH24:MI:SS.US')

另请注意,由于引用的microseconds是(000000-999999)范围内的值,因此您可以传递6位数作为美国

    TO_TIMESTAMP('16:25:20.659841Z', 'HH24:MI:SS.US')

要松开时区,只需在::timestamp without time zone;来电

的末尾添加to_timestamp即可
    TO_TIMESTAMP('16:25:20.6598412Z', 'HH24:MI:SS.MSUS')::timestamp without time zone;