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

PostgreSQL中如何用计算值或字段实现毫秒的加减操作

PostgreSQL动态毫秒间隔时间计算的正确写法

使用字段值作为毫秒偏移量

方法1:利用make_interval函数

这是最直观的方式,直接通过函数参数指定毫秒数:

SELECT start_date - make_interval(milliseconds => ms_value) AS work_timestamp
FROM mytable;

方法2:数值乘固定毫秒间隔

将字段值与interval '1 millisecond'相乘,得到对应时长的时间间隔:

SELECT start_date - (ms_value * interval '1 millisecond') AS work_timestamp
FROM mytable;

使用字段计算结果作为毫秒偏移量

如果需要用两个字段的差值(如ms_value1 - ms_value2)作为偏移量,只需把计算表达式代入上述方法即可:

方法1:结合make_interval的写法

SELECT start_date - make_interval(milliseconds => ms_value1 - ms_value2) AS work_timestamp
FROM mytable;

方法2:数值运算写法

SELECT start_date - ((ms_value1 - ms_value2) * interval '1 millisecond') AS work_timestamp
FROM mytable;

原写法错误原因

你之前尝试的字符串拼接方式(interval '00:00:00.00' + ms_value)不成立,因为PostgreSQL不允许直接将interval类型与数值类型做加法运算,必须通过函数或数值乘固定间隔的方式,动态生成合法的interval值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 16:40:19