from_unixtime和unix_timestamp

项目中hive库数据表是按时间进行分区的,两种格式,string '2019-10-21' ,int 20191021

当两张表分区字段类型不同进行各种join操作时,会出现类型不匹配的错误,这时就需要把两种格式统一

方案一:(将‘2019-10-20’转换为20191020,结果为string类型,需要将int 20191020转换为string)

from_unixtime(unix_timestamp('2019-10-20','yyyy-mm-dd'),'yyyymmdd') = cast(20191020 as string)

方案二:(将字符串string ‘20180905’ 转化为 字符串类型时间 ‘2019-10-20’ 结果为string类型)

from_unixtime(unix_timestamp('20180905','yyyymmdd'),'yyyy-mm-dd')

  • 基本函数:unix_timestamp(String date),结果返回指定字符串日期的时间戳

SQL:

select unix_timestamp('2019-11-11 15:05:00')

查询结果:

  • 基本函数:from_unixtime()时间戳转换为时间字符串
select from_unixtime(1573455900,'yyyy-MM-dd HH:mm:ss');

查询结果:

​​​​​​

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值