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

Oracle SQL中如何将分钟数字字段转换为hh:mm格式?

将整数分钟转换为hh:mm格式(支持超过24小时)

直接通过数值计算+字符串格式化就能实现需求,不用依赖to_date/to_char这类日期函数——这类函数会自动处理时间进位,无法得到60:00这种超过24小时的格式。

通用思路

  1. 计算小时数:总分钟数除以60取整数部分
  2. 计算分钟数:总分钟数对60取余
  3. 给小时和分钟补前导零,拼接成hh:mm格式

各数据库实现示例

PostgreSQL

SELECT 
  Duration,
  lpad(floor(Duration / 60)::text, 2, '0') || ':' || lpad((Duration % 60)::text, 2, '0') AS "hh:mm"
FROM your_table;

MySQL

SELECT 
  Duration,
  LPAD(FLOOR(Duration / 60), 2, '0') || ':' || LPAD(Duration % 60, 2, '0') AS `hh:mm`
FROM your_table;

SQL Server

SELECT 
  Duration,
  RIGHT('0' + CAST(Duration / 60 AS VARCHAR), 2) + ':' + RIGHT('0' + CAST(Duration % 60 AS VARCHAR), 2) AS "hh:mm"
FROM your_table;

验证结果

代入你给出的示例数据:

  • 120分钟 → 02:00
  • 545分钟 → 09:05(注:你提供的示例中545对应09:08可能是笔误,545=9×60+5,正确结果应为09:05)
  • 3600分钟 → 60:00

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 04:10:27