sql - [datetime2](7) 的 DateDiff,采用 hh:mm;ss 格式
问题描述
CREATE TABLE dbo.Duration (startDate datetime2, endDate datetime2);
INSERT INTO dbo.Duration (startDate, endDate) VALUES ('2007-05-06 16:42:09', '2007-05-07 11:10:08');
INSERT INTO dbo.Duration (startDate, endDate) VALUES ('2007-05-07 08:30:09', '2007-05-07 12:12:43');
INSERT INTO dbo.Duration (startDate, endDate) VALUES ('2007-05-07 11:35:09', '2007-05-07 17:13:39');
以下是要根据预期结果修改的查询
SELECT DATEDIFF(day, startDate, endDate) AS Duration FROM dbo.Duration;
预期结果:
19:32:01 04:18:34 06:22:29
解决方案
您可以尝试以下查询。
SELECT CONVERT(VARCHAR(12), DATEADD(MS, DATEDIFF(MS,startDate, endDate), 0), 108) AS TimeDiff from Duration
推荐阅读
- java - Java中的X11异常
- c - 为什么不优化可执行文件中的填充字节?
- r - 将交叉距离矩阵转换为距离矩阵
- azure - 资源组范围内的部署不允许使用 location 属性
- php - 通过输入构建 sqlCommand
- reactjs - React,如何在不允许空格的情况下使用 maskInput
- powershell - 使用 powershell 脚本重启机器
- bash - 循环内循环 vcftools bash
- c++ - 无法从 C++ 中找到 COM 对象,尽管 Guid 它已注册
- kubernetes - 在 kubectl 编辑后,旧的 ReplicaSet 不会被新的 ReplicaSet 替换