PostgreSQL中如何将时间戳/时间差转换为带小数的总秒数
PostgreSQL时间转带毫秒总秒数实现方案
不需要手动提取时分秒分量再分别加权计算,PostgreSQL自带了更便捷的实现方式:
使用EXTRACT函数配合EPOCH参数即可直接得到带毫秒小数的总秒数,示例如下:
-- 针对你给出的时间示例,直接转换得到总秒数 SELECT EXTRACT(EPOCH FROM TIME '00:01:02.1234') AS total_secs;
执行后返回结果就是你需要的62.1234。
如果是统计两个timestamp字段的时间差,用法也很简单:
SELECT EXTRACT(EPOCH FROM (end_timestamp - start_timestamp)) AS cost_secs FROM your_app_performance_table;
补充说明:EPOCH参数作用是将时间/时间间隔类型转换为对应的Unix时间戳总秒数,精度和原时间值的精度保持一致,原生支持毫秒、微秒级的小数部分,完全满足性能数据统计的需求。
内容的提问来源于stack exchange,提问作者Christopher Schultz
相关产品推荐
相关产品推荐

