[ 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)