栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

HiveSql时间集合应用

HiveSql时间集合应用

// add_months 获取当前日期的后N个月的日期

select add_months('2021-08-09',3);    --返回   2021-11-09


// 时间戳进行格式化

select from_unixtime(1519818348,'yyyyMMdd');    --返回  通过时间戳对应的格式 20180228


// 获取当天的时间戳

select unix_timestamp() as lin;   --返回 默认时间戳

select from_unixtime(unix_timestamp(),'yyyyMMdd')as lin;  --返回默认时间戳的格式化时间


// 获取当前日期N天后的日期

select date_add('2018-02-28',3) as shijian;

select date_add('2018-02-28',-3) as shijian;

//  获取当前日期减少N天后的日期
select date_sub('2012-12-08',10) as shijian;


// -------------------------------------------------------------------------------------------------》
// 例子: 20180905 转成 2018-09-05      20170728102031   转成2017-07-28 10:20:31  的集合
 // unix_timestamp 是把指定的数据转换成时间戳,然后在由 from_unixtime转换成时间格式为’yyyy-mm-dd‘
select from_unixtime(unix_timestamp('20180905','yyyymmdd'),'yyyy-mm-dd') as li;

//20170728102031    regexp_replace就是替换指定字符  转换成 2017-07-28 10:20:31

select concat(substr('20170728102031',1,4),'-',
    substr('20170728102031',5,2),'-',
    substr('20170728102031',7,2),' ',
    substr('20170728102031',9,2),':',
    substr('20170728102031',11,2),':',
    substr('20170728102031',13,2)
    ) as li;

//第二种做法
select from_unixtime(unix_timestamp('20170728102031','yyyyMMddHHmmss'),'yyyy-MM-dd HH:mm:ss') as li;
select unix_timestamp('20170728102031','yyyyMMddHHmmss') as li;

//--------------------------------------------------------------------------------------------------------------->

// 算出两个日期之间的差  datediff

select datediff('2012-12-08','2012-05-09') as lin;

select to_date('2011-12-08 10:03:01') as li;

//计算练习
select datediff(from_unixtime(unix_timestamp(),'yyyy-MM-dd HH:mm:ss'),'2021-11-12 15:06:20')*24 as li;


//各种格式练习
select to_date(from_unixtime(unix_timestamp('2012-08-20','yyyyMMdd'),'yyyyMMdd')) as lin;


select from_unixtime(unix_timestamp(),'yyyy.MM.dd') as lin;

// eg:这里的日期要注意大小写要一样。
select from_unixtime(unix_timestamp('20210809','yyyyMMdd'),'yyyy.MM.dd')  as lin;



//日期函数  返回的是年月日
select year('2018-12-08 10:03:01');--2018 --年
select year('2018-12-08');--2018
select month('2018-12-08 10:03:01');--12 --月
select month('2018-12-08');--12
select day('2018-12-08 10:03:01');--8  --日
select day('2018-12-08');--8
select hour('2018-12-08 10:03:01');--10  --时
select minute('2018-12-08 10:03:01');--3   --分
select second('2018-12-08 10:03:01');--1   --秒
select weekofyear('2018-12-08 10:03:01')--49   日期转换为周

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/613238.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号