Sql FLOOR() отображает различные выходные данные
Когда я использую этот код и значение Latehrs1 из базы данных равно 0.58, он дает значение 57.
SELECT i.id, i.entrydate, i.in1, i.out1, i.in2, i.out2, i.totalhrsworked, (FLOOR(latehrs1)*60)+FLOOR(((latehrs1)-FLOOR(latehrs1))*100) AS latehrs1, (FLOOR(latehrs2)*60)+FLOOR(((latehrs2)-FLOOR(latehrs2))*100) AS latehrs2, i.isUt, i.`daycount`, i.ishalfday, i.`break` FROM temp_io5 i WHERE id=712;
С другой стороны, когда я устанавливаю значение для latehrs1, оно дает мне выход 58. Почему это так? Как же это случилось?
SET @latehrs1=0.58; SELECT (FLOOR(@latehrs1)*60)+FLOOR(((@latehrs1)-FLOOR(@latehrs1))*100) AS latehrs
Что я уже пробовал:
SET @latehrs1=0.58; SELECT (FLOOR(@latehrs1)*60)+FLOOR(((@latehrs1)-FLOOR(@latehrs1))*100) AS latehrs