hive-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hari Sankar Sivarama Subramaniyan (JIRA)" <>
Subject [jira] [Commented] (HIVE-5352) cast('1.0' as int) returns null
Date Wed, 25 Sep 2013 21:22:03 GMT


Hari Sankar Sivarama Subramaniyan commented on HIVE-5352:

[~hagleitn] Alright. Thanks for the explanation. The reason I asked that was because between
patch 2 and patch 4, cast('+1e5' as int) turned from a valid casted value to NULL. Another
edge case is when the input terminates with a decimal as in  cast('.' as int) or cast('2.'
as int) the code would return 0 and 2 respectively instead of NULL. We should expect this
behavior with this change and it is not a bug :)
> cast('1.0' as int) returns null
> -------------------------------
>                 Key: HIVE-5352
>                 URL:
>             Project: Hive
>          Issue Type: Bug
>            Reporter: Gunther Hagleitner
>            Assignee: Gunther Hagleitner
>         Attachments: HIVE-5352.1.patch, HIVE-5352.2.patch, HIVE-5352.3.patch, HIVE-5352.4.patch
> Casting strings to int/smallint/bigint/tinyint yields null if the string isn't a 'pure'
integer. '1.0', '2.4' all return null. I think for those cases the cast should return the
truncated int (i.e.: if c is string, cast(c as int) should be the same as cast(cast(c as float)
as int).
> This is in line with the standard and is the same behavior as mysql and oracle. (postgres
and sql server throw error, see first answer here:

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:

View raw message