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)
Кажется, это решает проблему, но я опасаюсь, что могут быть и другие последствия, которые я упускаю при этом. Любые объяснения помогут.