我想知道员工第一次打电话的平均时间。
Select EmployeeName,Length
From Callers
结果:
John Doe 94559
John Doe 100720
这基本上是军用时间,所以我相信这个数据可以转换为9:45 AM EST和10:07 AM EST。当我加上(Select dbo.convertIntToTime(FirstCall)*100)时,我可以将它转换为常规时间格式。当我尝试(Select EmployeeName,AVG(FirstCall)时,我得到的是平均值,但是是整数,我不知道如何将它转换为时间格式。
我认为问题的部分原因是数据返回的分钟值超过了60。
Select EmployeeName,AVG(Length)
From Callers
Group By EmployeeName
结果:
John Doe 106546
Tom Cruise 116275
Lebron James 156971
任何帮助都将不胜感激!
3条答案
按热度按时间sdnqo3pr1#
这些不是军事时间数字。没有1569在军事或任何时候为此事。军事是0000-2300,其中0000将是12:00上午和2300将是11:00下午。
所以156971,如果是军用时间,应该是下午3点69分71秒。不可能。
你确定时间是按你想的方式储存的吗?
我建议把它的存储方式改为时间戳,这样会更容易使用。
yrdbyhpb2#
将整数转换为时间SQL Server
在SQL Server中创建Below函数-
现在使用这个功能,无论你想在你的情况下,你可以使用它像下面-
例一:
例二:
soat7uwm3#
您可以使用 TimeFromParts:
若要求平均值,请先转换为DateTime,然后转换为 Float,求平均值,再转换回 time: