server sql 时间差分钟_计算SQL Server中的时间差(以分钟为单位)

以下按预期工作:

SELECT Diff = CASE DATEDIFF(HOUR, StartTime, EndTime)

WHEN 0 THEN CAST(DATEDIFF(MINUTE, StartTime, EndTime) AS VARCHAR(10))

ELSE CAST(60 - DATEPART(MINUTE, StartTime) AS VARCHAR(10)) +

REPLICATE(',60', DATEDIFF(HOUR, StartTime, EndTime) - 1) +

+ ',' + CAST(DATEPART(MINUTE, EndTime) AS VARCHAR(10))

END

FROM (VALUES

(CAST('11:15' AS TIME), CAST('13:15' AS TIME)),

(CAST('10:45' AS TIME), CAST('18:59' AS TIME)),

(CAST('10:45' AS TIME), CAST('11:59' AS TIME))

) t (StartTime, EndTime);

要获得24列,您可以使用24个案例表达式,例如:

SELECT [0] = CASE WHEN DATEDIFF(HOUR, StartTime, EndTime) = 0

THEN DATEDIFF(MINUTE, StartTime, EndTime)

ELSE 60 - DATEPART(MINUTE, StartTime)

END,

[1] = CASE WHEN DATEDIFF(HOUR, Start


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部