Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
0.8.0
-
None
-
None
Description
The ISO-SQL standard specification for CASE allows the specification to include different types in the WHEN and ELSE blocks including this example which mixes smallint and integer types
select case when vsint.csint is not null then vsint.csint else 1 end from cert.vsint vsint
The Apache Hive docs do not state how it deviates from the standard or any given restrictions so unsure if this is a bug vs an enhancement. Many SQL applications mix so this seems to be a restrictive implementation if this is by design.
Argument type mismatch '1': The expression after ELSE should have the same type as those after THEN: "smallint" is expected but "int" is found