gpt4 book ai didi

sql-server - 如何计算开始时间和结束时间之间的总分钟数?

转载 作者:行者123 更新时间:2023-12-02 14:54:33 25 4
gpt4 key购买 nike

如何计算开始时间和结束时间之间的总分钟数?开始/结束时间列是 nvarchar,我将它们声明为日期时间。我不确定这是否是我的第一步,我是 SQL 和声明的新手。

最终目标是获取总分钟数,减去午餐课间休息(两者都是分钟),然后乘以 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

最佳答案

也许这样的东西就是你想要的?

select (datediff(minute, starttime, endtime) -lunch -recess) * 5 AS TotalInstruct
from YourTable

如果您想对所有行求和,请尝试:

select sum((datediff(minute, starttime, endtime) -lunch -recess) * 5) AS TotalInstruct
from YourTable

如果您想获取每所学校的小时数,则必须在查询中包含 school 字段,并在 group by 子句中使用它,然后查询变成这样:

select school, sum((datediff(minute, starttime, endtime) -lunch -recess) * 5) AS TotalInstruct
from YourTable
group by school

Sample SQL Fiddle对于上述查询。

关于sql-server - 如何计算开始时间和结束时间之间的总分钟数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25446484/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com