Mysql 如何计算总小时数?
这是我的疑问:Mysql 如何计算总小时数?,mysql,Mysql,这是我的疑问: Name|| day||ActivityDate ||TimeIn || TimeOut || Ade || 20 || 2013-08-20 || 10:06:09 || 18:21:03 || Ade || 21 ||2013-08-27 || 11:00:34 || 18:06:56 || Ade || 22 || 2013-08-28 || 09:56:29 || 17:59:56 || 和错误: 1582-调用本机函数时参数计数不正确 “DATEDIFF” 这是我
Name|| day||ActivityDate ||TimeIn || TimeOut ||
Ade || 20 || 2013-08-20 || 10:06:09 || 18:21:03 ||
Ade || 21 ||2013-08-27 || 11:00:34 || 18:06:56 ||
Ade || 22 || 2013-08-28 || 09:56:29 || 17:59:56 ||
和错误:
1582-调用本机函数时参数计数不正确
“DATEDIFF”
这是我的数据表。。
我不知道如何得到总小时数,比如超时时间
仅供参考,我在这张表中有很多数据。。不仅是这个
我希望你们清楚
select
tot=sum(DATEDIFF(hh ,TimeIn ,TimeOut )) as TotalHourAndMinute
from report
我希望是这样的
更新如果您使用的是MySQL,函数的正确格式如下:
Name|| day||ActivityDate ||TimeIn || TimeOut || TotalHourAndMinute
Ade || 20 || 2013-08-20 || 10:00:00 || 18:30:00 || 8.5
Ade || 21 ||2013-08-27 || 11:00:34 || 18:06:56 || 7.something
Ade || 22 || 2013-08-28 || 09:56:29 || 17:59:56 || 7.something
有关DATEDIFF
的更多信息。此外,MySQL的所有可用时间函数都是
但是,如果您想查看两个日期之间的小时差异,请使用TIME\u DIFF
DATEDIFF(expr1,expr2)
和有关时间差异的文档
但严格按照您的情况,您应该这样编写查询:
TIMEDIFF(expr1,expr2)
更新:
现在,在更新你的问题后,我明白你想要什么了
您需要使用的查询如下:
SELECT tot = sum(HOUR(TIMEDIFF(TimeIn, TimeOut))) AS TotalHourAndMinute
FROM report
使用:
有关更多信息,请访问网站。如果您聚合时间值,您将以秒为单位得到一个结果,将其转换回您调用的时间。这将为您提供:
SELECT HOUR(TIMEDIFF(TimeOut,TimeIn)) AS hour from report;
您正在使用哪个数据库引擎?phpmyadmin,希望您可以try@user2514863那么我假设你正在使用MySQL,对吗?对不起,老板。。我还是新手。。当我提出这个问题时,错误出现了。。。“字段列表”@user2514863
tot
中的未知列“tot”应该是您之前声明的数字变量。但如果您不想将输出存储在变量中,只需使用选择sum(HOUR(TIMEDIFF(TimeIn,TimeOut)))作为TotalHourAndMinute FROM report
选择sum(HOUR(TIMEDIFF(TimeIn,TimeOut)))作为TotalHourAndMinute FROM report以获取所有记录的totalhour..column sum(HOUR(DATEDIFF(TimeIn,TimeOut)))只需输出NULL或0即可。。简单的数学,hour=TimeOut-TimeIn,例如:TimeIn=08:00:00 TimeOut=17:30:00所以hour=9.5,但我不能简单地减去,因为时间1分钟=60秒,@user2514863我已经切换了超时和TimeIn的顺序。现在试着运行它。对不起,老板。。我需要15分钟的时间(
SELECT HOUR(TIMEDIFF(TimeOut,TimeIn)) AS hour from report;
SELECT
SEC_TO_TIME(SUM(TIMEDIFF(TimeOut, TimeIn))) AS TotalHourAndMinute
FROM
report