hive如何把时分秒时间变成15分钟切片时间

发布时间:2021-08-21 11:20 来源:ITPUB博客 阅读:0 作者: 栏目: 数据库

  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 大连无痛人流哪家好  

  向下取整函数: 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


免责声明:本站发布的内容(图片、视频和文字)以原创、来自互联网转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系QQ:712375056 进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。