Почему когда берём round() от одного и того числа, можем получить разный выход ? Тип от которого берём - double precision. У меня запрос типа
select round (number1), round(number2) from (query) возвращает разный результат (number1=number2 =838995.5 ну не суть ).
С ходу: значит, не то вы
С ходу: значит, не то вы округляете.
SELECT 838995.499999999999999999999999999999999999999999999::double precision,
ROUND(838995.499999999999999999999999999999999999999999999),
ROUND(838995.5::double precision)
Получаем:
838995.5 и 838994, 838996
Смотрите внимательнее, что вы округляете.
Может быть ... Но я делаю
Может быть ... Но я делаю Select number1 , number2, round(number1),round(number2) from (select SUM(col1) as number1, select SUM(col2) as number2 from (query)) b получаю 838995.5, 838995.5, 838995,838996 Может дело в какой то особенности неявной конвертации типов?