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

如何将MI:SS格式时间转换为整数存入PostgreSQL数据库?

将「分钟:秒」格式字符串转换为PostgreSQL整数秒数

你可以用两种简单的方法实现这个转换:

方法1:拆分字符串计算总秒数

通过split_part函数按冒号拆分字符串,分别提取分钟和秒的数值,再计算总秒数:

-- 单个值转换示例
SELECT (split_part('02:39', ':', 1)::int * 60) + split_part('02:39', ':', 2)::int AS total_seconds;

输出结果为159。如果处理表中字段,替换字符串为字段名即可:

SELECT 
  (split_part(time_column, ':', 1)::int * 60) + split_part(time_column, ':', 2)::int AS total_seconds
FROM your_table;

方法2:利用时间间隔函数转换

把字符串转成interval类型,再提取总秒数:

-- 单个值转换示例
SELECT EXTRACT(EPOCH FROM to_interval('02:39'))::int AS total_seconds;

同样能得到159。字段处理版本:

SELECT EXTRACT(EPOCH FROM to_interval(time_column))::int AS total_seconds
FROM your_table;

额外提示:格式校验

如果输入字符串可能存在格式不规范的情况(比如分钟数超过59、包含非数字字符),可以先做正则校验避免转换出错:

SELECT 
  CASE 
    WHEN time_column ~ '^\d{1,2}:\d{2}$' THEN (split_part(time_column, ':', 1)::int * 60) + split_part(time_column, ':', 2)::int
    ELSE NULL -- 也可根据需求抛出错误或返回默认值
  END AS total_seconds
FROM your_table;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 11:26:09