Re: SELECT ROUND(0.045, 2) FROM ... надо 0.05 а не 0.04
От: DarkSid Россия  
Дата: 13.06.06 07:58
Оценка:
Здравствуйте, surovi, Вы писали:

S>Надо чтобы SELECT ROUND(0.045, 2) FROM ... возвращал 0.05 а не 0.04


S>Использую MS Access 2000, но надо чтобы работало и на MS SQL Server.

S>Т.е. руководствоваться ANSI SQL 92.

S>Вариант делать округление в вычисляемом поле не подходит, т.к. к округляемому значению применяется агрегатная функция SUM.

S>Вот источник проблемы:
S>SELECT SUM(ROUND((DateDiff("n", StartTime, EndTime)/60)*Rate, 2)) AS Total
S>Поле Rate строго имеет два знака после запятой
S>Значение внутри ROUND может иметь любое (допустимое) количество знаков после запятой


В свое время мне помогло так
SELECT SUM(ROUND((DateDiff("n", StartTime, EndTime)/60)*Rate +0.000001, 2)) AS Total
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.