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

如何将SQL Bigint列转换为天:时:分:秒格式?

将SQL Bigint类型时长转换为天:时:分:秒格式

你的time_Left列是总秒数形式的时长,直接转换datetime类类型无效——因为datetime是用来表示具体时间点的,而非时间间隔。正确做法是通过数学运算拆分出天、时、分、秒后,拼接成目标格式。

实现方案(以SQL Server为例)

SELECT 
    time_Left,
    CONCAT(
        -- 计算天数:总秒数除以一天的秒数(86400)取整
        FLOOR(time_Left / 86400), ':',
        -- 计算小时:剩余秒数除以3600取整,补零到2位
        RIGHT('0' + CAST(FLOOR((time_Left % 86400) / 3600) AS VARCHAR), 2), ':',
        -- 计算分钟:剩余秒数除以60取整,补零到2位
        RIGHT('0' + CAST(FLOOR((time_Left % 3600) / 60) AS VARCHAR), 2), ':',
        -- 计算秒数:剩余秒数取余60,补零到2位
        RIGHT('0' + CAST(time_Left % 60 AS VARCHAR), 2)
    ) AS [天:时:分:秒]
FROM 你的数据表名;

测试示例结果

  • 输入516542000,输出:5978:09:40:00
  • 输入604744000,输出:6999:08:26:40

其他数据库适配(MySQL)

如果使用MySQL,语法略有不同,用DIV做整数除法、LPAD补零:

SELECT 
    time_Left,
    CONCAT(
        time_Left DIV 86400, ':',
        LPAD((time_Left % 86400) DIV 3600, 2, '0'), ':',
        LPAD((time_Left % 3600) DIV 60, 2, '0'), ':',
        LPAD(time_Left % 60, 2, '0')
    ) AS `天:时:分:秒`
FROM 你的数据表名;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 18:24:26