Округление результата арифметической операции в запросе
Столкнулся со следующей проблемой.
Запрос должен вывести (помимо значения ряда полей) результат выполнения арифметической операции: значение одного поля делим на другое. Упрощенно это выглядит вот так:
SELECT FIELD1, FIELD2, (FIELD1/FIELD2) FROM (SELECT MYFIELD1 AS FIELD1, MYFIELD2 AS FIELD2 FROM MYTABLE ORDER BY ID)
Отрабатывает все нормально, но результат выражения (FIELD1/FIELD2) получается с 14 знаками после запятой.
Подскажите, пожалуйста, как округлить результат до (например) 3 знаков.
П.С. БД - ORACLE.
Цитата: dominator
Подскажите, пожалуйста, как округлить результат до (например) 3 знаков.
Преобразовать значение поля в нужный тип с тремя знаками после запятой. С Oracle не знаком, но, думаю, провернуть там - пара пустяков.
SELECT FIELD1, FIELD2, round(FIELD1/FIELD2, 3) FROM (SELECT MYFIELD1 AS FIELD1, MYFIELD2 AS FIELD2 FROM MYTABLE ORDER BY ID)
Цитата: dominator
Сделал так:
SELECT FIELD1, FIELD2, round(FIELD1/FIELD2, 3) FROM (SELECT MYFIELD1 AS FIELD1, MYFIELD2 AS FIELD2 FROM MYTABLE ORDER BY ID)
SELECT FIELD1, FIELD2, round(FIELD1/FIELD2, 3) FROM (SELECT MYFIELD1 AS FIELD1, MYFIELD2 AS FIELD2 FROM MYTABLE ORDER BY ID)
А, ну да. Тоже вариант. :-D