2016-01-08 9 views
2

На самом деле я ищу дополнительную информацию о функции суммы в Apache Hive. До сих пор я понял, что я могу указать количество цифр после запятой:Apache Hive Как округлить до 2 знаков после запятой?

val DECIMAL(18, 3) 

Но то, что я не могу найти точность шкалы в случае суммы. Если я добавлю 2 десятичных знака с точной шкалой 3, например, каково будет возврат функции sum? Моя точность будет сохранена? Результат будет усечен или закруглен? Что я пропустил?

Большое спасибо.

ответ

6

Просто округлите его до такого количества знаков после запятой, сколько хотите.

select round(SUM(150.100 + 127.0090), 2); 

Выход выше: -

277.11 
+0

Я использую Улей (версия 1.1.0-cdh5.10.1). Попытка вашего запроса через HUE, он возвращает 277.11000000000001. Затем я попробовал это через beeline, и я получил правильный результат (277.11). Даже запись результата в файл работает нормально. Я думаю, что это ошибка с HUE UI! –

Смежные вопросы