[ https://issues.apache.org/jira/browse/HIVE-14251?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15386062#comment-15386062 ]
Ashutosh Chauhan commented on HIVE-14251: ----------------------------------------- When we are making such semantic changes we should make change which takes us closer to standard. So, it should help to read that to see what standard has to say here. I took this query and ran it against few databases: * MySQL : same result as you are trying to achieve * Postgres : exception : ERROR: UNION types date and integer cannot be matched Position: 53 * SQLServer: Different result set. It figured common type as date 2016-01-01 00:00:00.000 1900-01-06 00:00:00.000 1900-01-02 06:00:00.000 Couldn't try on oracle as I didnt had it handy. That would be good experiment too. Clearly its not consistent. My suggestion would be to read standard and try to emulate that as much as possible. > Union All of different types resolves to incorrect data > ------------------------------------------------------- > > Key: HIVE-14251 > URL: https://issues.apache.org/jira/browse/HIVE-14251 > Project: Hive > Issue Type: Bug > Components: Query Planning > Affects Versions: 2.0.0 > Reporter: Aihua Xu > Assignee: Aihua Xu > Attachments: HIVE-14251.1.patch > > > create table src(c1 date, c2 int, c3 double); > insert into src values ('2016-01-01',5,1.25); > select * from > (select c1 from src union all > select c2 from src union all > select c3 from src) t; > It will return NULL for the c1 values. Seems the common data type is resolved > to the last c3 which is double. -- This message was sent by Atlassian JIRA (v6.3.4#6332)