| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > MS SQL Server > округление данных |
| Автор: TaNK 23.5.2012, 08:29 | ||||
| Добрый день, возник вопрос на который пока не нашел ответа: имеем запрос вида
т.е. sum(volume) - имеем 500 Cena - 3.15317 Перемножаем значения и получаем 1576.585 - округляя до 2 знаков должен получить 1576.59, но получаю 1576.58 если же получаю значение 1566.495, округление дает 1566.50 Причем если же выполнить:
Получаю верные значения Подскажите почему так происходит и как сделать так чтобы округлял по математическим правилам, Спасибо P.S. SQL SERVER 2005 SP4 Типы данных volume - float Cena - decimal (23,9) |
| Автор: Zioma 23.5.2012, 08:50 | ||
| Приведите все к одному типу. Например:
|
| Автор: Akina 23.5.2012, 09:05 |
| TaNK, это бухгалтерское округление, половина - к чётному. |
| Автор: TaNK 23.5.2012, 09:09 |
| Akina, да об этом я где то слышал, приведение к одному типу, как подсказал Zioma помогает, ошибок пока не нашел. |
| Автор: Zioma 23.5.2012, 09:19 |
| TaNK, В T-SQL всегда и всё приводите к одному типу - будет меньше ошибок. |
| Автор: TaNK 23.5.2012, 10:34 |
| Zioma, спасибо все получилось! |