[ https://issues.apache.org/jira/browse/HIVE-5352?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Gunther Hagleitner updated HIVE-5352: ------------------------------------- Description: 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: 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) was: 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) > 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 > 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: > 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