[
https://issues.apache.org/jira/browse/HIVE-18304?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16297832#comment-16297832
]
Rui Li commented on HIVE-18304:
-------------------------------
I can't reproduce the issue on my side - the two queries return the same
result, and my laptop is in UTC+8. Maybe it's fixed by HIVE-15338?
[~hengyu.dai], which Hive version are you using?
[~xuefuz], the timezone stuff I worked on is about the timestamptz type, so
it's not related here.
> datediff() UDF returns a wrong result when dealing with a (date, string) input
> ------------------------------------------------------------------------------
>
> Key: HIVE-18304
> URL: https://issues.apache.org/jira/browse/HIVE-18304
> Project: Hive
> Issue Type: Bug
> Components: UDF
> Reporter: Hengyu Dai
> Assignee: Hengyu Dai
> Priority: Minor
> Attachments: 0001.patch
>
>
> for date type argument, datediff() use DateConverter to convert input to a
> java Date object,
> for example, a '2017-12-18' will get 2017-12-18T00:00:00.000+0800
> for string type argument, datediff() use TextConverter to convert a string to
> date,
> for '2012-01-01' we will get 2012-01-01T08:00:00.000+0800
> now, datediff() will return a number less than the real date diff
> we should use TextConverter to deal with date input too.
> reproduce:
> {code:java}
> select datediff(cast('2017-12-18' as date), '2012-01-01'); --2177
> select datediff('2017-12-18', '2012-01-01'); --2178
> {code}
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)