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

SQL:如何在现有查询中计算两个时间戳的分钟差值

计算时间差(分钟)的实现方法

根据你使用的数据库类型,直接把对应计算逻辑加到查询的字段列表里即可:

MySQL/MariaDB

用TIMESTAMPDIFF函数直接指定分钟单位:

SELECT
    e.start_time,
    e.end_time,
    f.sample_data,
    a.blocked_content,
    TIMESTAMPDIFF(MINUTE, e.start_time, e.end_time) AS Total_Time
FROM
    -- 你的原有复杂JOIN语句

PostgreSQL

提取时间差的秒数再转成分钟:

SELECT
    e.start_time,
    e.end_time,
    f.sample_data,
    a.blocked_content,
    EXTRACT(EPOCH FROM (e.end_time - e.start_time)) / 60 AS Total_Time
FROM
    -- 你的原有复杂JOIN语句

SQL Server

用DATEDIFF函数计算分钟差:

SELECT
    e.start_time,
    e.end_time,
    f.sample_data,
    a.blocked_content,
    DATEDIFF(MINUTE, e.start_time, e.end_time) AS Total_Time
FROM
    -- 你的原有复杂JOIN语句

Oracle

日期相减得到天数后乘以1440转成分钟:

SELECT
    e.start_time,
    e.end_time,
    f.sample_data,
    a.blocked_content,
    ROUND((e.end_time - e.start_time) * 1440) AS Total_Time
FROM
    -- 你的原有复杂JOIN语句

注意事项

  • 确保start_time和end_time是日期时间类型(如DATETIME、TIMESTAMP),如果是字符串格式,需要先通过对应数据库的转换函数转成日期类型(比如MySQL的STR_TO_DATE、PostgreSQL的TO_TIMESTAMP)。
  • 如果存在end_time早于start_time的情况,结果会是负数,可通过ABS()函数取绝对值,例如:ABS(TIMESTAMPDIFF(MINUTE, e.start_time, e.end_time)) AS Total_Time

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 22:18:10