sql-server - 如何在两次行中找到时差
问题描述
SQL Server :我需要在格式中找到两次之间的差异,HH:MM
并且两列都具有time
数据类型:
SELECT DATEDIFF(MINUTE, sh.ToTime, sh.FromTime)
FROM ShiftTimes sh
INNER JOIN StdBreaksInShifts sb ON sb.ShiftId = sh.ShiftId
桌子:
Fromdate todate
----------------------------------------
08:15:00.0000000 16:30:00.0000000
谁能建议如何做到这一点?
解决方案
可以使用CONVERT
with style 来获取对应格式的一部分。像这样的东西:
DECLARE @FromTime TIME = '08:15:00.0000000'
,@ToTime TIME = '16:30:00.0000000';
SELECT @FromTime
,@ToTime
,CONVERT(VARCHAR(5), DATEADD(minute, DATEDIFF(minute, @FromTime, @ToTime), 0), 114)
08:15:00.0000000 16:30:00.0000000 08:15
推荐阅读
- pyspark - 为什么代码有问题?我连接到集群
- python - 即使在插补后拟合模型时出现 ValueError
- algorithm - 2n 和 m 代表什么?
- android - 如何使用 android 获取 Firebase 数据库中的值?
- c++ - 如何在不知道最初输入多少值的情况下将整数存储到数组中
- amazon-web-services - 使用 AWS Lambda 批量处理文件的超时问题
- python - 我得到 ValueError: 'Dip Time' 不在列表中
- android - WorkManager 和 Kodein
- microservices - 身份验证策略的 Istio 替代方案是什么,开发的 Istio 流程是什么?
- linkedin - LinkedIn - 无法创建访问令牌,回复“此应用程序不允许创建应用程序令牌”。#linkedin