How to change date format in hive?

前端 未结 4 1532
梦如初夏
梦如初夏 2020-12-10 12:26

My table in hive has a filed of date in the format of \'2016/06/01\'. but i find that it is not in harmory with the format of \'2016-06-01\'. They can not compare for insta

4条回答
  •  半阙折子戏
    2020-12-10 13:12

    To convert date string from one format to another you have to use two date function of hive

    1. unix_timestamp(string date, string pattern) convert time string with given pattern to unix time stamp (in seconds), return 0 if fail.
    2. from_unixtime(bigint unixtime[, string format]) converts the number of seconds from unix epoch (1970-01-01 00:00:00 UTC) to a string representing the timestamp of that moment in the current system time zone.

    Using above two function you can achieve your desired result.

    The sample input and output can be seen from below image:

    The final query is

    select from_unixtime(unix_timestamp('2016/06/01','yyyy/MM/dd'),'yyyy-MM-dd') from table1; 
    

    where table1 is the table name present in my hive database.

    I hope this help you!!!

提交回复
热议问题