Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL Year()无法正常工作_Mysql_Sql_Date - Fatal编程技术网

MySQL Year()无法正常工作

MySQL Year()无法正常工作,mysql,sql,date,Mysql,Sql,Date,我试图了解一个人一年工作的小时数,每月和每周的小时数都没有问题,但是当我尝试让它与年函数一起工作时,它只给了我2.016和2.017,而不是实际的一年,只有12小时,而不是实际的一年 select Year(Date) AS Year,WorkerID, Date_format(sec_to_time(sum(time_to_sec(goes)-time_to_sec(comes))), '%h:%i') as H FROM Info Group by

我试图了解一个人一年工作的小时数,每月和每周的小时数都没有问题,但是当我尝试让它与年函数一起工作时,它只给了我2.016和2.017,而不是实际的一年,只有12小时,而不是实际的一年

select 
    Year(Date) AS Year,WorkerID, 
    Date_format(sec_to_time(sum(time_to_sec(goes)-time_to_sec(comes))), '%h:%i') as H 
FROM 
    Info 
Group by 
    Year, WorkerID

看起来您正在查看输出的环境的某些部分正在添加默认的fullstop作为1000分隔符,因此2017变为2.017。因此,请检查输出端的默认设置并删除默认分隔符。

请提供表结构创建表和一些示例数据,以便我们可以帮助您。您确定MySQL客户端正确解析返回的值吗?还有,您的MySQL客户端/驱动程序是什么?您是在控制台上获得Format2.016格式,还是在Excel中检查结果?我在使用wine,我在那里查看2.016结果。我真的不知道如何提供实际有用的信息:/I我有类似的东西。我将cols start和stop保存为时间戳YYYY mm dd H:I:s,然后我得到秒的摘要除以3600,得到每年的小时数:选择YEARstart作为年份,SUMUNIX_TIMESTAMPstop-UNIX_TIMESTAMPstart作为report_log_items GROUP by year中的总计-有一些位置,但这是主要逻辑。