mysql分钟到小时和分钟
我有一个表,它返回任务的分钟数,我想将其转换为小时和分钟 我的选择是:mysql分钟到小时和分钟,mysql,time,decimal,Mysql,Time,Decimal,我有一个表,它返回任务的分钟数,我想将其转换为小时和分钟 我的选择是: select m.mat_nome as 'Matéria', round( sum( case when Hour(TIMEDIFF(est_horario_inicial, est_horario_final))*60 = 0 then Minute(TIMEDIFF(est_horario_inicial, est_horario_final))
select
m.mat_nome as 'Matéria',
round(
sum(
case when Hour(TIMEDIFF(est_horario_inicial, est_horario_final))*60 = 0
then Minute(TIMEDIFF(est_horario_inicial, est_horario_final))
else Hour(TIMEDIFF(est_horario_inicial, est_horario_final))*60
end
)/60
,2)
as 'tempo' from estudos_realizados e
left join materias m on e.mat_id = m.mat_id;
这是从我的表返回100分钟,除以60得到1.67。
我想在1小时40分钟内得到结果
这是可能的吗?如何将数字除以60,并将小数修改为60
谢谢大家! 使用以下事实:小时=楼层/60 分钟=(-hours*60您应该查找FLOOR()函数和简单的数学
CONCAT(FLOOR(minutes/60),'h ',MOD(minutes,60),'m')
这起作用了!谢谢
select
m.mat_nome as 'Matéria',
CONCAT(
FLOOR(
sum(
case when Hour(TIMEDIFF(est_horario_inicial, est_horario_final))*60 = 0
then Minute(TIMEDIFF(est_horario_inicial, est_horario_final))
else Hour(TIMEDIFF(est_horario_inicial, est_horario_final))*60
end
)/60
),'h',
MOD(
sum(
case when Hour(TIMEDIFF(est_horario_inicial, est_horario_final))*60 = 0
then Minute(TIMEDIFF(est_horario_inicial, est_horario_final))
else Hour(TIMEDIFF(est_horario_inicial, est_horario_final))*60
end
)
,60)
, 'm')
as 'tempo' from estudos_realizados e
left join materias m on e.mat_id = m.mat_id;
Damir Kasipovic代码的变体:
这将62分钟转换为“1:02”为什么不简单地这样做呢
select convert(date_add('2000-01-01', interval 146 minute), time);
这将返回02:26:00
如果要指定返回格式,请执行以下操作
select date_format(date_add('2000-01-01', interval 146 minute), '%h:%i');
谢谢你节省了我的时间。
select date_format(date_add('2000-01-01', interval 146 minute), '%h:%i');