You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Jason Dere (JIRA)" <ji...@apache.org> on 2016/12/01 19:09:58 UTC
[jira] [Created] (HIVE-15331) Decimal multiplication with high
precision/scale often returns NULL
Jason Dere created HIVE-15331:
---------------------------------
Summary: Decimal multiplication with high precision/scale often returns NULL
Key: HIVE-15331
URL: https://issues.apache.org/jira/browse/HIVE-15331
Project: Hive
Issue Type: Bug
Components: Types
Reporter: Jason Dere
Assignee: Jason Dere
{noformat}
create temporary table dec (a decimal(38,18));
insert into dec values(100.0);
hive> select a*a from dec;
OK
NULL
Time taken: 0.165 seconds, Fetched: 1 row(s)
{noformat}
Looks like the reason is because the result of decimal(38,18) * decimal(38,18) only has 2 digits of precision for integers:
{noformat}
hive> set hive.explain.user=false;
hive> explain select a*a from dec;
OK
STAGE DEPENDENCIES:
Stage-0 is a root stage
STAGE PLANS:
Stage: Stage-0
Fetch Operator
limit: -1
Processor Tree:
TableScan
alias: dec
Select Operator
expressions: (a * a) (type: decimal(38,36))
outputColumnNames: _col0
ListSink
Time taken: 0.039 seconds, Fetched: 15 row(s)
{noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)