sql - 如何在 SQL 中将小时、分钟和秒 (HH:mm:ss) 转换为分钟和秒 (mm:ss)
问题描述
假设我有 2 小时、47 分钟和 10 秒 (02:47:10),它采用 hh:mm:ss 格式作为时间列中的值。我只想将其转换为分钟和秒(mm:ss)。因此,sql 中的结果应该是 167 分钟和 10 秒。我试过使用代码
SELECT cast(substring('02:47:10',1,2) AS int)*60+
cast(substring('02:47:10',4,2) AS int)+
cast(substring('02:47:10',7,2) AS int)/60.0 AS minutes
结果是 167.166666。
我想要的输出应该是 167:10 (mm:ss) 格式
解决方案
只需将小时乘以 60,然后将其添加到分钟即可。然后重新格式化为类似时间的值:
SELECT CONCAT((DATEPART(HOUR,'02:47:10')* 60) + DATEPART(MINUTE,'02:47:10'),':',DATEPART(SECOND,'02:47:10'));
推荐阅读
- svg - feImage xlink:href svg 源与 png 相比模糊
- javascript - 动态创建时多次调用的事件处理程序
- three.js - THREE.JS 阴影不投射 - 聚光灯
- html - Css 背景颜色不透明度
- jquery - 速度模板 - “#foreach”循环中没有“#break”
- php - 模型的 save() 方法上的 Inflector.php 第 265 行中的 FatalErrorException
- google-colaboratory - Google Colab 在尝试解压缩大文件后冻结
- sql - 查询优化 PostgreSQL (GreenPlum)。根据排名前 5 位的结果进行分组
- c - 一次将一系列字符存储在 char 数组中
- algorithm - 在表中查找排序顺序