[ 
https://issues.apache.org/jira/browse/HIVE-11973?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14967317#comment-14967317
 ] 

Jimmy Xiang commented on HIVE-11973:
------------------------------------

With the patch, it means the common type of date and string is date, which 
seems not right.
IN is handled differently from comparison. That's why the behavior is like in 
this jira description.

> IN operator fails when the column type is DATE 
> -----------------------------------------------
>
>                 Key: HIVE-11973
>                 URL: https://issues.apache.org/jira/browse/HIVE-11973
>             Project: Hive
>          Issue Type: Bug
>          Components: Query Processor
>    Affects Versions: 1.0.0
>            Reporter: sanjiv singh
>            Assignee: Yongzhi Chen
>         Attachments: HIVE-11973.1.patch
>
>
> Test DLL :
> {code}
> CREATE TABLE `date_dim`(
>   `d_date_sk` int, 
>   `d_date_id` string, 
>   `d_date` date, 
>   `d_current_week` string, 
>   `d_current_month` string, 
>   `d_current_quarter` string, 
>   `d_current_year` string) ;
> {code}
> Hive query :
> {code}
>     SELECT *  
>     FROM   date_dim     
>     WHERE d_date  IN ('2000-03-22','2001-03-22')  ;
> {code}
> In 1.0.0 ,  the above query fails with:
> {code}
>     FAILED: SemanticException [Error 10014]: Line 1:180 Wrong arguments 
> ''2001-03-22'': The arguments for IN should be the same type! Types are: 
> {date IN (string, string)}
> {code}
> I changed the query as given to pass the error :
> {code}
>     SELECT *  
>     FROM   date_dim     
>     WHERE d_date  IN (CAST('2000-03-22' AS DATE) , CAST('2001-03-22' AS DATE) 
>  )  ;
> {code}
> But it works without casting  :
> {code}
>     SELECT *  
>     FROM   date_dim     
>     WHERE d_date   = '2000-03-22' ;
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to