[ 
https://issues.apache.org/jira/browse/HIVE-5022?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Kevin Soo Hoo updated HIVE-5022:
--------------------------------


The answer cannot be anymore precise than the most precise operand.  If this 
were a scientific calculation, then it would be the least precise operand that 
would dictate the precision.  I have not actually looked at how other databases 
handle the situation, but they certainly do not throw nulls.  I would use the 
most precise operand as my guide just to be safe.  As you said in your note, 
people can always round up if they want fewer significant digits.

Thank!
                
> 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
>            Assignee: Teddy Choi
>         Attachments: HIVE-5022.1.patch.txt
>
>
> 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

Reply via email to