[
https://issues.apache.org/jira/browse/HIVE-5022?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13737917#comment-13737917
]
Teddy Choi commented on HIVE-5022:
----------------------------------
The result of division has the maximum precision. The following multiplication
makes a result with a greater precision than the maximum precision, so it
causes an error.
https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=27838462#LanguageManualTypes-FloatingPointTypes
provides more information.
Please use ROUND() to reduce precisions or use DOUBLE to be tolerant of
precision issues.
> Decimal Arithmetic generates NULL value
> ---------------------------------------
>
> Key: HIVE-5022
> URL: https://issues.apache.org/jira/browse/HIVE-5022
> Project: Hive
> Issue Type: Bug
> Components: Types
> Affects Versions: 0.11.0
> Environment: Hortonworks 1.3 running Hive 0.11.0.1.3.0.0-107
> Reporter: Kevin Soo Hoo
>
> When a decimal division is the first operation, the quotient cannot be
> multiplied in a subsequent calculation. Instead, a NULL is returned.
> The following yield NULL results:
> select (cast (4.53 as decimal) / cast(25.86 as decimal)) * cast(0.087 as
> decimal) from <tablename> limit 1;
> select cast (4.53 as decimal) / cast(25.86 as decimal) * cast(0.087 as
> decimal) from <tablename> limit 1;
> If we move the multiplication operation to be first, then it will
> successfully calculate the result.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira