Здравствуйте, surovi, Вы писали:
S>Здравствуйте, DarkSid, Вы писали:
DS>>В свое время мне помогло так DS>>SELECT SUM(ROUND((DateDiff("n", StartTime, EndTime)/60)*Rate + 0.000001, 2)) AS Total
S>Да, действительно, такой вариант решит проблему, но, к сожалению, не со 100% гарантией, т.к. S>если округление будет зависеть от седьмого знака после запятой, то округлиться неправильно. S>Например число 0.4444441 -> ROUND(0.4444441, 2) = 0.44 S>А если так 0.4444441 + 0.000001 = 0.4444451 -> ROUND(0.4444451, 2) = 0.45 S>т.е. получаются разные числа, конечно можно еще увеличить точность, до восьми знаков после запятой или больше, но опять же это не дает 100% гарантии.
S>Но все-равно спасибо за вариант. S>Может быть есть еще предложения
Результаты выборки
select ROUND(0.4444441 +0.0001, 2)
.4400000