select CONCAT(
Lpad(
FLOOR(HOUR(TIMEDIFF('2015-06-25 12:10', '2011-06-21 10:10')) / 24),
4,0),':',
Lpad(
MOD(HOUR(TIMEDIFF('2014-06-25 12:10', '2015-06-21 10:10')), 24),
4,0),':',
Lpad(
MINUTE(TIMEDIFF('2014-06-25 12:10', '2015-06-21 10:15')),
4,0), '')
上面的MySQL select语句给出了
报告错误。日期=天数:小时:分钟
的所需格式
答案 0 :(得分:0)
您正在使用的功能受 TIME 类型的限制,该类型可能来自' -838:59:59'到' 838:59:59'你应该使用返回整数的TIMESTAMPDIFF
。
select
TIMESTAMPDIFF(DAY,'2011-06-21 10:10','2015-06-25 12:10') as c_days,
TIMESTAMPDIFF(HOUR,'2014-06-25 12:10', '2015-06-21 10:10') as c_hrs,
TIMESTAMPDIFF(MINUTE,'2014-06-25 12:10', '2015-06-21 10:15') as c_mnt;
但是这并没有多大意义,你的公式中可能会有一些拼写错误,下面的代码可能是你正在寻找的。 p>
set @a_mnt := TIMESTAMPDIFF(MINUTE,'2014-06-25 12:10', '2015-06-21 10:10');
select
concat(
lpad(floor(@a_mnt := @a_mnt / 1440 ), 4, 0), ':',
lpad(floor(@a_mnt := ((@a_mnt - floor(@a_mnt)) * 24)), 4, 0), ':',
lpad(floor((@a_mnt - floor(@a_mnt)) * 60 ), 4, 0)) as result;