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

如何在PostgreSQL中将时间间隔格式转为天数小数?

将时间间隔转换为以天为单位的小数形式

不同SQL数据库的最优实现方式如下:

  • PostgreSQL
    利用EXTRACT(EPOCH FROM ...)获取时间间隔的总秒数,再除以一天的秒数(86400)得到小数天数:

    select time1, time2, EXTRACT(EPOCH FROM (time1 - time2)) / 86400 as time_discrep_days
    from main_file
    order by time1;
    
  • MySQL
    使用TIMESTAMPDIFF函数计算两个时间的秒数差,再转换为天:

    select time1, time2, TIMESTAMPDIFF(SECOND, time2, time1) / 86400 as time_discrep_days
    from main_file
    order by time1;
    
  • SQL Server
    通过DATEDIFF获取秒数差,除以86400.0(用浮点数避免整数截断):

    select time1, time2, DATEDIFF(SECOND, time2, time1) / 86400.0 as time_discrep_days
    from main_file
    order by time1;
    

如果你的现有方案是基于总时长转秒数再除以86400的思路,那这已经是行业内的常规最优方案——这种方式能保证精度,且适配绝大多数场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 00:25:59