Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / SQL Server 2005 ошибка round(...,2) / 3 сообщений из 3, страница 1 из 1
05.02.2018, 16:32
    #39596907
Дикий Билл
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL Server 2005 ошибка round(...,2)
В запросе используется конструкция вида round(f1 * f2, 2) там получается число 3142044,235.
И результат округления 3142044,23!

Причем если выполнить select round(3142044.235,2), то округляет правильно.
...
Рейтинг: 0 / 0
05.02.2018, 16:49
    #39596930
X-Cite
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL Server 2005 ошибка round(...,2)
Тип данных FLOAT?
Это же очевидно... тип приближенный
Код: sql
1.
2.
3.
4.
5.
6.
DECLARE
	@F1 FLOAT = 1571022.117500,
	@F2 FLOAT = 2.0

SELECT ROUND(@F1 * @F2, 2), @F1 * @F2, @F1, CAST(@F1 AS DECIMAL(32, 20))
--3142044,23	3142044,235	1571022,1175	1571022.11749999990000000000
...
Рейтинг: 0 / 0
05.02.2018, 17:06
    #39596943
Дикий Билл
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL Server 2005 ошибка round(...,2)
X-CiteТип данных FLOAT?
Это же очевидно... тип приближенный
Код: sql
1.
2.
3.
4.
5.
6.
DECLARE
	@F1 FLOAT = 1571022.117500,
	@F2 FLOAT = 2.0

SELECT ROUND(@F1 * @F2, 2), @F1 * @F2, @F1, CAST(@F1 AS DECIMAL(32, 20))
--3142044,23	3142044,235	1571022,1175	1571022.11749999990000000000


Угу, уже разобрался, спасибо.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / SQL Server 2005 ошибка round(...,2) / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]