Sql server 如何在两个时间行中查找时差

Sql server 如何在两个时间行中查找时差,sql-server,stored-procedures,sql-server-2012,Sql Server,Stored Procedures,Sql Server 2012,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 ----------------------------------

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


请添加一些示例数据并添加您迄今为止尝试过的内容。编辑您的问题并添加更多详细信息,可能是一个带有一些行的示例,这是预期的结果。这是否回答了您的问题?显示ToTime列数据和FromTime列数据的示例。请参阅MSSQL中的转换函数。谢谢。。。你能告诉我如何在生成的差=值(K4)*60*24上实现这个公式吗。