You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "Hengyu Dai (JIRA)" <ji...@apache.org> on 2017/12/19 10:05:00 UTC

[jira] [Updated] (HIVE-18304) datediff() UDF returns a wrong result when dealing with a (date, string) input

     [ https://issues.apache.org/jira/browse/HIVE-18304?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Hengyu Dai updated HIVE-18304:
------------------------------
    Assignee: Hengyu Dai
      Status: Patch Available  (was: Open)

> 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
> 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)