[
https://issues.apache.org/jira/browse/HIVE-11973?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14968583#comment-14968583
]
Xuefu Zhang commented on HIVE-11973:
------------------------------------
It seems to me that x IN (val1, val2, ..., valn) should be equivalent to x =
val1 OR x = val2 ... OR x = valn. Could we check how "WHERE d_date =
'2000-03-22'" works and apply the same logic here? Maybe, we should just need
to add an implicit cast when the type doesn't match.
> 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, HIVE-11973.2.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)