如何获得 T SQL 中 2 次之间的分钟差?

How do I get the minute difference between 2 times in T SQL?

如何在 T SQL 中获得 2 次之间的 "minutes" 差异?我试过 DATEDIFF,但它显然需要日期。这将是一天中两次之间的分钟差异。有什么建议吗?

DateDiff 不仅可以使用 Date 数据类型,它甚至可以接受 TIME 数据类型。

即使您的 datatypenvarchar,它也可以工作,但它应该是有效的 time

简单演示

create table time_test(a nvarchar(50),b nvarchar(50))

insert time_test values ('4:00 PM','4:30 PM')

select datediff(minute,a,b) from time_test --30

我认为 DATEDIFF 是您的最佳选择。我知道您正在寻找同一天的时间差异,但您不能只传递 DATEDIFF 两个具有相同日期但不同时间的 DateTime 类型吗?

// Should return 300
DATEDIFF(mi, '2015-02-19 08:00:00', '2015-02-19 13:00:00')

这通常对我有用:

DATEDIFF(minute, @StarTime, @endTime)