⼤数据之Hive:Hive⽇期处理函数之unix_timestamp
⽬录
1.unix_timestamp
1.1语义
返回时间的时间戳,该函数只能够精确到秒级别的时间
1.2:实例
hive>SELECT unix_timestamp();(执⾏使得时间:2009-08-0610:10:40)
->1249524739
hive>SELECT unix_timestamp('2009-08-06','yyyy-MM-dd');
->1249488000
hive>SELECT unix_timestamp('2009-0806','yyyy-MMdd');
-
>1249488000
2.from_unixtime
1.1语义
将时间戳(精确到秒级别的时间)转化为某种格式的⽇期
1.2:实例
hive>SELECT from_unixtime(1249488000,'yyyy-MM-dd');
->2009-08-05
hive>SELECT from_unixtime(1249488000,'yyyy年MM⽉dd⽇');
->2009年08⽉05⽇
3.实战
3.1需求:
现在有这样⼀个时间’2021-0320’,需要将这个时间变成2021/03/20;
3.2分析:
⾸先想到data_format函数,可以将时间转换成某种格式,可是传⼊的应该是标准形式的时间参数,显然’2021-0320’,不符合时间格式(此为标准格式2021-03-20);此时我们可以想到⽤unix_timestamp,from_unixtime函数,先⽤unix_timestamp函数把’2021-0320’转换为时间戳,再⽤from_unixtime函数把时间戳转化为2021/03/20格式的时间;
unix时间戳转换日期格式
3.3具体实现:
hive>SELECT UNIX_TIMESTAMP('2021-0320','yyyy-MMdd');
->1616198400
hive>SELECT from_unixtime(1616198400,'yyyy/MM/dd');
->2021/03/20
hive>SELECT from_unixtime(UNIX_TIMESTAMP('2021-0320','yyyy-MMdd'),'yyyy/MM/dd');
-
>2021/03/20
补充:date_format函数(根据格式整理⽇期)
hive (gmall)>select date_format('2021-03-20','yyyy/MM/dd');
2021/03/20

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。