首页 > 数据库 > 数据库开发技术 > hive如何把时分秒时间变成15分钟切片时间
1、关键函数解释:
左补足函数:lpad
语法: lpad(string str, int len, string pad)
返回值: string
说明:将str进行用pad进行左补足到len位
hive> select lpad('u', 8, 'i love ');
i love u
右补足函数:rpad
语法: rpad(string str, int len, string pad)
返回值: string
说明:将str进行用pad进行右补足到len位
hive> select rpad('i', 8, ' love u');
i love u 大连无痛人流哪家好 http://mobile.120wtrlyy.com/
向下取整函数: floor
语法: floor(double a)
返回值: BIGINT
说明: 返回等于或者小于该double变量的最大的整数
hive> select floor(3.1415926);
3
hive> select floor(25);
25
2、思路解析
需求:把2021-07-31 09:07:01 这个时间转换成 202107310900
或 把2021-07-31 09:17:01 这个时间转换成 202107310915
分别利用hour和minute函数得到对应时间的小时和分钟,再利用以上三个函数进行各种字符串转换。
hive> select concat('20210731',lpad(hour('2021-07-31 09:07:01'),2,'0'),rpad(15*floor(minute('2021-07-31 09:07:01')/15),2,'0'));
202107310900
hive> select concat('20210731',lpad(hour('2021-07-31 09:17:01'),2,'0'),rpad(15*floor(minute('2021-07-31 09:17:01')/15),2,'0'));
202107310915
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70005147/viewspace-2787836/ ,如需转载,请注明出处,否则将追究法律责任。