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

Xuefu Zhang commented on HIVE-7373:
-----------------------------------

{quote}
It will preserve the trailing zeros up to the scale allows.
{quote}

That's what I think right. Please feel free to assigned this to yourself, 
[~spena]. Removing the method trim() from HiveDecimal is pretty what needs to 
be done.

> 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: Xuefu Zhang
>
> 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.2#6252)

Reply via email to