Gunther Hagleitner created HIVE-5352:
----------------------------------------

             Summary: cast('1.0' as int) returns null
                 Key: HIVE-5352
                 URL: https://issues.apache.org/jira/browse/HIVE-5352
             Project: Hive
          Issue Type: Bug
            Reporter: Gunther Hagleitner
            Assignee: Gunther Hagleitner


Casting strings to int/smallint/bigint/tinyint yields null if the string isn't 
a 'pure' integer. '1.0', '2.4', '1e5' 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: 
http://social.msdn.microsoft.com/Forums/sqlserver/en-US/af3eff9c-737b-42fe-9016-05da9203a667/oracle-does-understand-cast10-as-int-why-sql-server-does-not)

--
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: http://www.atlassian.com/software/jira

Reply via email to