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
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/293126.html
標籤:其他
