计算两行之间的时间差

时间:2013-02-06 17:42:59

标签: tsql datediff

我有一个包含字段username和lastUpdateDateTime的表。如果用户在此表中输入多个条目,我希望看到第一个和最后一个条目之间的区别在于分钟和秒。我想我可能会使用DATEDIFF函数,但我的数据库没有开始日期和结束日期作为两个单独的字段。我应该使用游标来循环用户名排序的结果吗?

不知道该怎么做。

这是最新的......

SELECT username,  
DATEDIFF(ss, MinDate, MaxDate) Assessment_Timespan,
AssessmentDate
FROM
(
SELECT storeID, username,
MIN(lastUpdateDateTime) MinDate,
MAX(lastUpdateDateTime) MaxDate, 
CONVERT(VARCHAR(50), LastUpdateDateTime, 101) AS AssessmentDate
FROM Assessment
GROUP BY username, storeID, CONVERT(VARCHAR(50), LastUpdateDateTime, 101)
) src

1 个答案:

答案 0 :(得分:1)

你可以使用这样的东西。这会获得每个min的{​​{1}}和max值。完成后,您可以将DateDiff()函数应用于它:

username

请参阅SQL Fiddle with Demo

这为您提供了几秒钟的差异,然后您可以以任何您需要的方式对其进行格式化。