如何计算开始和结束时间之间的总分钟数?开始/结束时间列是nvarchar,我将它们声明为datetime . 我不确定这是不是我的第一步,我是SQL的新手,并宣称 .
最终目标是取 Total Minutes
,减去 Lunch
和 Recess
(均为分钟),然后乘以5得到每个学校一周的总教学分钟数 .
DECLARE @StartTime datetime, @Endtime datetime
SELECT --[School]
[GradeLevel]
,[StartTime]
,[EndTime]
,(@Endtime - @StartTime) AS 'TotalMinutes'
,[Lunch]
,[Resess]
,[Passing]
FROM [dbo].[StartEndTimes]
Current Output:
GradeLevel StartTime EndTime TotalMinutes Lunch Resess Passing
2-5 7:50 14:20 NULL 20 10 NULL
K-5 7:45 14:20 NULL 20 10 NULL
K-5 7:50 14:20 NULL 20 10 NULL
2 回答
也许这样的东西是你想要的?
如果要对所有行进行总结,请尝试:
如果您想获得每个学校的小时数,您必须在查询中包含
school
字段并在group by
子句中使用它,然后查询变为:Sample SQL Fiddle用于上述查询 .
如果您只想找到两个日期之间的差异,那么您可以使用DATEDIFF函数(http://msdn.microsoft.com/en-us/library/ms189794.aspx)
例:
但是,如果您的值是字符串格式,则需要在将它们传递给DATEDIFF函数之前进行转换 . 例: