Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.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 DATEDIFF中显示小时数_Mysql_Sql_Datediff - Fatal编程技术网

仅在MYSQL DATEDIFF中显示小时数

仅在MYSQL DATEDIFF中显示小时数,mysql,sql,datediff,Mysql,Sql,Datediff,我已经忙了好几个小时了,但是我不能让它工作 SQL SELECT DATEDIFF(end_time, start_time) as `difference` FROM timeattendance WHERE timeattendance_id = '1484' start_time = 2012-01-01 12:00:00 end_time = 2012-01-02 13:00:00 相差25(小时)。但是我得到的输出是1(天) 如何将25小时作为输出?如何使用

我已经忙了好几个小时了,但是我不能让它工作

SQL

SELECT DATEDIFF(end_time, start_time) as `difference` FROM timeattendance WHERE timeattendance_id = '1484'

start_time =   2012-01-01   12:00:00
end_time =     2012-01-02   13:00:00
相差25(小时)。但是我得到的输出是1(天)

如何将25小时作为输出?

如何使用

正如MySQL中所述,
DATEDIFF
只考虑天数

如果两个日期都在1970年之后,则可以减去时间戳:

SELECT ( UNIX_TIMESTAMP("2012-01-02 13:00:00") - 
         UNIX_TIMESTAMP("2012-01-01 12:00:00") ) / 3600 ...
或:


您最好使用TIMEDIFF而不是DATEDIFF,因为DATEDIFF在比较之前将所有时间强制转换为日期。执行TIMEDIFF后,您可以使用小时功能获得小时数

SELECT HOUR(TIMEDIFF(end_time, start_time)) as `difference`;

您可以使用TIMEDIFF和HOUR函数来提取小时

SELECT HOUR(TIMEDIFF(end_time, start_time)) as `difference` FROM timeattendance WHERE timeattendance_id = '1484'


使用
TIMEDIFF()
而不是
DATEDIFF()
在25和30分钟或25:30等节目小时和分钟应该做什么
SELECT HOUR(TIMEDIFF(end_time, start_time)) as `difference`;
SELECT HOUR(TIMEDIFF(end_time, start_time)) as `difference` FROM timeattendance WHERE timeattendance_id = '1484'