SQL Server Strange Ceiling () Поведение

Кто-нибудь может объяснить следующие результаты в SQL Server? Я в тупике.

declare @mynum float = 8.31

select ceiling( @mynum*100)

Результаты в831

declare @mynum float = 8.21

select ceiling( @mynum*100)

Результаты в822

Я проверил целый ряд чисел (вSQL Server 2012). Некоторые увеличиваются, в то время как другие остаются прежними. Я не понимаю, почему потолок относится к некоторым из них по-разному. Изменение отfloat кdecimal(18,5) Кажется, это решает проблему, но я опасаюсь, что могут быть и другие последствия, которые я упускаю при этом. Любые объяснения помогут.

Ответы на вопрос(2)

Ваш ответ на вопрос