It is using either 1.6 or 1.7, but i tested System.out.println(" " + Timestamp.valueOf("2999-12-31 23:59:59" )); on both 1.7 and 1.6 version and it works in both cases.
On Wed, Sep 10, 2014 at 10:12 PM, Jason Dere <jd...@hortonworks.com> wrote: > Hmm that's odd .. it looks like this works for me: > > hive> select cast('2999-12-31 23:59:59' as timestamp); > OK > 2999-12-31 23:59:59 > Time taken: 0.212 seconds, Fetched: 1 row(s) > > For string to timestamp conversion, it should be using > java.sql.Timestamp.valueOf(). What version of jvm are you using? > > > > On Sep 10, 2014, at 2:38 PM, Peyman Mohajerian <mohaj...@gmail.com> wrote: > > Hi Guys, > > I Hive .13 for this conversion: > select cast('2999-12-31 23:59:59' as timestamp) > I get: > 1830-11-23 00:50:51.580896768 > up to around year 2199 it works fine, the work around is to convert the > string to int and then back to timestamp: > from_unixtime(unix_timestamp('2999-12-31 23:59:59.000000') > > But why is this issue happening in the first place? > > Thanks, > > > > CONFIDENTIALITY NOTICE > NOTICE: This message is intended for the use of the individual or entity > to which it is addressed and may contain information that is confidential, > privileged and exempt from disclosure under applicable law. If the reader > of this message is not the intended recipient, you are hereby notified that > any printing, copying, dissemination, distribution, disclosure or > forwarding of this communication is strictly prohibited. If you have > received this communication in error, please contact the sender immediately > and delete it from your system. Thank You.