您好我必须在postgres db中从字符串转换的时间戳上添加24小时。
这里是我的代码:
select to_timestamp(timestamp_start, 'YYYY-MM-DD HH24:MI:SS.US') + interval '24 hour' as tstamp from tablename
查询有效,但在时间戳结束时添加了两个0:“2017-05-23 17:35:13.105867 + 00”
为什么以及如何解决它?
答案 0 :(得分:1)
+00
表示它是带时区的时间戳,您的客户端时区是UTC。
如果您不想在屏幕上显示 +00 ,请将其投放到timestamp without timezone
,例如:
t=# select now();
now
-------------------------------
2017-05-23 09:04:46.105322+00
(1 row)
Time: 0.690 ms
t=# select now()::timestamp;
now
----------------------------
2017-05-23 09:04:51.849522
(1 row)
Time: 0.537 ms
因此,对于原始帖子中的查询,它将是:
select (to_timestamp(timestamp_start, 'YYYY-MM-DD HH24:MI:SS.US') + interval '24 hour')::timestamp as tstamp
from tablename