HIVE中两种日期的转换

      工作中,经常遇到各种格式的日期形式,而且又需要进行关联操作,这个时候怎么办呢?之前每次都是用到的时候各种查资料。这次就总结一下,相关函数,后期不定时持续更新~

Exp1:'2018/11/5'和'2018-11-05'两种类型的进行日期关联?

这时,就用到大家常用的函数:unix_timestamp

在日常使用时,可能都用来取时间戳了,比如:

select unix_timestamp() as time

结果为:

time
1554205013

 

这样,我们就看不出目前的时间是多少,来 格式化一下输出方式:

select from_unixtime(unix_timestamp(),'yyyy-MM-dd') as time

结果为:

time
2019-04-02

这个函数,直接使用,就是输出当前时间。

那我们这个问题就迎刃而解了,把两边的格式统一。

select from_unixtime(unix_timestamp('2018-11-05','yyyy-MM-dd'),'yyyy/MM/dd') as time

结果为:

time
2018/11/05

显然这个转换方式不行。

那么换一下:

select from_unixtime(unix_timestamp('2018/11/5','yyyy/MM/dd'),'yyyy-MM-dd') as time

结果为:

time
2018-11-05

这样就解决了该问题。

 

你可能感兴趣的:(技术,数据库)