[ 
https://issues.apache.org/jira/browse/HIVE-14281?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15384459#comment-15384459
 ] 

Xuefu Zhang commented on HIVE-14281:
------------------------------------

Not sure this is a problem though. The next row may contain data with 18 
decimal points, for which precision may get lost. I would think user shouldn't 
specific decimal(38, 18) for numbers that don't require such a scale.

Of course, we may want to check how other DBs handle this.

> Issue in decimal multiplication
> -------------------------------
>
>                 Key: HIVE-14281
>                 URL: https://issues.apache.org/jira/browse/HIVE-14281
>             Project: Hive
>          Issue Type: Bug
>          Components: Types
>            Reporter: Chaoyu Tang
>            Assignee: Chaoyu Tang
>
> {code}
> CREATE TABLE test (a DECIMAL(38,18), b DECIMAL(38,18));
> INSERT OVERWRITE TABLE test VALUES (20, 20);
> SELECT a*b from test
> {code}
> The returned result is NULL (instead of 400)
> It is because Hive adds the scales from operands and the type for a*b is set 
> to decimal (38, 36). Hive could not handle this case properly (e.g. by 
> rounding)



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to