如何将Unix纪元转换为时间戳

时间:2017-02-14 07:07:16

标签: sql postgresql timestamp

我是postgresql bot的新手,一般不是sql。我有一个表,我需要读取值,在列上是一个unix时间戳,我想转换为更人性化的格式,因此我发现:

SELECT lt,dw,up,to_char(uxts, 'YYYY-MM-DD HH24:MI:SS') 
from products;

但这会产生错误: 错误:多个小数点

我迷失在这里。我相信有人可以告诉我该怎么做。文档对我来说并不清楚。 Postgresql 9.5是数据库。

1 个答案:

答案 0 :(得分:4)

to_char()将数字,日期或时间戳转换为字符串,而不是相反。

您需要to_timestamp()

  

将Unix纪元(自1970-01-01 00:00:00 + 00以来的秒数)转换为时间戳

所以只需在列上应用该功能

SELECT lt,dw,up,to_timestamp(uxts) as uxts 
from products;

这假设uxts是某种数字数据类型(integerbigintdouble precision