PostgreSQL为varchar-timestamp转换返回错误的值

时间:2018-08-06 07:45:21

标签: sql postgresql

在Postgre服务器上工作时遇到一个非常奇怪的错误。我有一列,它以 HH24MMSS 格式包含varchar时间,我必须使用to_timestamp(varchar, 'HH24MMSS')将其转换为时间戳。但是,它返回了错误的值,我无法理解原因。以下是一些示例:

Select to_timestamp('111111', 'HH24MMSS')

-> 11:00:11

Select to_timestamp('000000', 'HH24MMSS')

-> 00:00:00

Select to_timestamp('122317', 'HH24MMSS')

-> 12:06:49

简要概述:

enter image description here

不幸的是,由于我既不是管理员,也不是维护服务器的人,因此我无法提供有关服务器的更多详细信息。我只知道它是Postgre 9.2。我真的不明白,这是怎么回事。我将不胜感激或帮助。

1 个答案:

答案 0 :(得分:1)

感谢您的评论。 “ MM”是问题的一部分,它解释了为什么分钟数未正确翻译。但是,将正确的功能与“ MI”而不是“ MM”一起使用仍会产生怪异的值。由于某些原因,postgre会自动添加6:32来添加时间:

enter image description here