You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在PostgreSQL中实现Trino的parse_duration秒转时长功能?

在PostgreSQL中将秒数转换为时间间隔的方法

PostgreSQL里有两种简单方式实现这个需求,直接生成可与时间戳相加的interval类型:

  • 方法1:使用make_interval函数(推荐)
    这是PostgreSQL原生的时间间隔生成函数,直接指定秒数参数即可,语法简洁可读性强:

    make_interval(seconds => update_interval::int)
    

    用21600秒测试的示例:

    SELECT make_interval(seconds => 21600);
    -- 输出结果:06:00:00
    

    和时间戳直接相加的用法:

    SELECT CURRENT_TIMESTAMP + make_interval(seconds => update_interval::int);
    
  • 方法2:字符串拼接转interval
    和你在Trino里的思路类似,把秒数转成字符串后拼接单位,再强制转换为interval类型:

    (update_interval::int || 's')::interval
    -- 也可以写全单位:(update_interval::int || ' seconds')::interval
    

    同样用21600秒测试:

    SELECT (21600 || 's')::interval;
    -- 输出结果:06:00:00
    

    与时间戳相加的示例:

    SELECT CURRENT_TIMESTAMP + (update_interval::int || 's')::interval;
    

两种方法都能满足需求,优先推荐make_interval——它是专门为生成时间间隔设计的函数,类型更安全,不容易出现格式错误。

内容的提问来源于stack exchange,提问作者Robbie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 05:08:14