[
https://issues.apache.org/jira/browse/HIVE-7373?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14175398#comment-14175398
]
Sergio Peña commented on HIVE-7373:
-----------------------------------
Hi [~mmccline],
The trailing zeros are left on the values because the casting is indicating so.
But, I confirmed that the outputs are different when the vectorization is off.
I will take a look at this issue.
> Hive should not remove trailing zeros for decimal numbers
> ---------------------------------------------------------
>
> Key: HIVE-7373
> URL: https://issues.apache.org/jira/browse/HIVE-7373
> Project: Hive
> Issue Type: Bug
> Components: Types
> Affects Versions: 0.13.0, 0.13.1
> Reporter: Xuefu Zhang
> Assignee: Sergio Peña
> Labels: TODOC14
> Fix For: 0.14.0
>
> Attachments: HIVE-7373.1.patch, HIVE-7373.2.patch, HIVE-7373.3.patch,
> HIVE-7373.4.patch, HIVE-7373.5.patch, HIVE-7373.6.patch, HIVE-7373.6.patch
>
>
> Currently Hive blindly removes trailing zeros of a decimal input number as
> sort of standardization. This is questionable in theory and problematic in
> practice.
> 1. In decimal context, number 3.140000 has a different semantic meaning from
> number 3.14. Removing trailing zeroes makes the meaning lost.
> 2. In a extreme case, 0.0 has (p, s) as (1, 1). Hive removes trailing zeros,
> and then the number becomes 0, which has (p, s) of (1, 0). Thus, for a
> decimal column of (1,1), input such as 0.0, 0.00, and so on becomes NULL
> because the column doesn't allow a decimal number with integer part.
> Therefore, I propose Hive preserve the trailing zeroes (up to what the scale
> allows). With this, in above example, 0.0, 0.00, and 0.0000 will be
> represented as 0.0 (precision=1, scale=1) internally.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)