1. 程式人生 > >簡介Hive常用的函式(一)

簡介Hive常用的函式(一)

一 解析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)
在這裡插入圖片描述
結果:
在這裡插入圖片描述