У меня очень странная проблема с SQL. У меня есть ячейка с номером 22, когда я хочу ее округлить, результат неверен.Ошибка в sql с округлением
Если я попытаюсь с номером вместо ячейки, код работает хорошо.
select Mora2, round(Mora2/30,0)*30, mora2+1,
round((mora2+1)/30,0)*30, round(convert(float,mora2)/30,0)*30
from Trimestre
Результатом этого является
Mora2 (No column name) (No column name) (No column name) (No column name)
22 30 23 30 30
Если я попробовать с номером, код работает хорошо.
select round(22/30,0)*30 as Mora2
Mora2
0
Почему это возможно?
Спасибо!
Каков тип данных Mora2? Второй пример - целые числа, вы получите другой результат, если вы делаете 22.0/30 –
Привет, Джеймс! Тип данных - float! Кроме того, у меня есть 28573 регистров, но только 866 с такой ошибкой! Вы знаете, почему? – mschapiro