将秒转换为yyyy-mm-dd hh:mm:ss PostgreSQL

时间:2015-10-22 08:19:15

标签: postgresql date datetime

我是PostgreSQL sql的新手,现在正在处理现有的数据库。我在表中有一个名为value的列,它包含以秒为单位的日期时间戳。所以我正在寻找可以将这些秒转换为Postgres数据库中的yyyy-mm-dd hh:mm:ss的方法。我尝试了以下方法:

SELECT  TO_CHAR('1444646136079 second'::interval, 'yyyy-mm-dd HH24:MI:SS')
  

1444646136079是我想要转换的值   但我收到以下错误:

     

错误:区间字段值超出范围:“1444646136079秒”

2 个答案:

答案 0 :(得分:5)

interval不是“时间戳”。

to_timestamp()函数接受秒作为输入,并可将其转换为适当的时间戳。我相信您的1444646136079实际上是毫秒秒,而不是秒:

select to_char(to_timestamp(1444646136079 / 1000), 'yyyy-mm-dd HH24:MI:SS')

返回:

2015-10-12 12:35:36

答案 1 :(得分:0)

您也可以尝试-

select to_date(to_timestamp(1344646136069 / 1000)::TEXT, 'yyyy-mm-dd HH24:MI:SS');

select to_date(to_timestamp(1344646136069 / 1000)::TEXT, 'YYYY-MM-DD HH:MI:SS');

输出

11.08.2012 00:00:00
11.08.2012 00:00:00