簡介Hive常用的函式(一)
阿新 • • 發佈:2019-01-06
一 解析URL字串
parse_url(url, partToExtract[,key])
介紹:
partToExtract的選項包含[HOST, PATH, QUERY, REF, PROTOCOL, FILE, AUTHORITY, USERINFO]
例子:
(1)
結果:
(2)
結果:
(3)
結果:
(4)
結果:
(5)
結果:
(5)其他引數的結果都是空NUll
結果:
二 字串連線函式
需要是String型別欄位
concat(str1,SEP,str2,SEP,str3,……) 和 concat_ws(SEP,str1,str2,str3, ……)
例子:
(1)concat
結果:
(2)concat_ws
結果:
程式碼1:
select concat('江蘇省','-','南京市','-','玄武區','-','徐莊軟體園');
程式碼2:
select concat_ws('-','江蘇省','南京市','玄武區','徐莊軟體園');
結論:
當連線的內容(欄位)多於2個的時候,concat_ws的優勢就顯現了,寫法簡單、方便。
三 將當前系統時間按照指定格式進行轉換
unix_timestamp()
unix_timestamp()是將當前系統時間轉換成數字型秒數
結果:
函式:
將數字型按照格式進行時間轉換:
from_unixtime
結果:
四 字串替換函式
regexp_replace(string A, string B, string C)
將字串A 中的B 用 C 替換
例子:
結果:
五 重複N次字串函式
repeat(string str, int n)
例子:
結果:
六 將字串str用lpad進行左補足到len位函式(如果位數不足的話)
lpad(string str, int len, string pad)
例子:
結果:
七 將字串str用rpad進行右補足到len位函式(如果位數不足的話)
rpad(string str, int len, string pad)
例子:
結果:
八 刪除字串兩邊的空格,中間的空格會保留的函式
trim(string A)
例子
(1)
結果:
(2)
結果:
ltrim(string A) :去除左面的空格
例子:
結果:
rtrim(string A) :去除右面的空格
例子:
結果:
九 將時間戳轉換成日期型字串函式
to_date(string timestamp)
例子:
結果:
十 返回int的兩個日期差函式
datediff(string enddate, string startdate)
例子:
結果:
十一 日期加減函式
date_add(string startdate, int days)
例子:
(1)
結果:
(2)
結果: