【问题标题】:Convert seconds to yyyy-mm-dd hh:mm:ss PostgreSQL将秒转换为 yyyy-mm-dd hh:mm:ss PostgreSQL
【发布时间】:2015-10-22 08:19:14
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: postgresql date datetime


    【解决方案1】:

    interval 不是“时间戳”。

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

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

    返回:

    2015-10-12 12:35:36
    

    【讨论】:

    【解决方案2】:

    你也可以试试-

    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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-16
      • 1970-01-01
      • 1970-01-01
      • 2018-10-28
      • 2017-05-18
      相关资源
      最近更新 更多