[
https://issues.apache.org/jira/browse/HIVE-3850?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13564348#comment-13564348
]
Pieterjan Vriends commented on HIVE-3850:
-----------------------------------------
I stumbled up on the problem when I queried using the hour() function on an
existing field that was declared as a TIMESTAMP, not a STRING.
SELECT hour(mytimstampfield) FROM mytable;.
When the field is declared as a STRING or as in your example you provide a
STRING the query will indeed return an 24 hour value as expected. The
overloaded evaluation function that accepts a TIMESTAMP will return a 12 hour
value.
> hour() function returns 12 hour clock value when using timestamp datatype
> -------------------------------------------------------------------------
>
> Key: HIVE-3850
> URL: https://issues.apache.org/jira/browse/HIVE-3850
> Project: Hive
> Issue Type: Bug
> Components: UDF
> Affects Versions: 0.9.0
> Reporter: Pieterjan Vriends
>
> Apparently UDFHour.java does have two evaluate() functions. One that does
> accept a Text object as parameter and one that does use a TimeStampWritable
> object as parameter. The first function does return the value of
> Calendar.HOUR_OF_DAY and the second one of Calendar.HOUR. In the
> documentation I couldn't find any information on the overload of the
> evaluation function. I did spent quite some time finding out why my statement
> didn't return a 24 hour clock value.
> Shouldn't both functions return the same?
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira