Hive系統函式 常用函式

2021-10-22 14:39:24 字數 2331 閱讀 3747

nvl(表示式 1, 表示式 2)

如果表示式 1 為空值, nvl 返回值為表示式 2 的值, 否則返回表示式 1 的值。 該函式的目的是把乙個空值(null) 轉換成乙個實際的值。 其表示式的值可以是數字型、 字元型和日期型。 但是表示式 1 和表示式 2 的資料型別必須為同乙個型別。

如果員工的 comm 為 null,則用-1 代替

在case函式中else部分的預設值是null,case具有兩種格式。簡單case函式和case搜尋函式

--簡單case函式

case ***

when '1' then '男'

when '2' then '女'

else '其他' end

--case搜尋函式

case when *** = '1' then '男'

when *** = '2' then '女'

else '其他' end

3.1 concat 函式

concat(string a/col, string b/col…):返回輸入字串連線後的結果,支援任意個輸入字串

concat 函式在連線字串的時候, 只要其中乙個是 null, 那麼將返回 null。

concat 函式不需要指定分隔符

3.2 concat_ws 函式

concat_ws 函式第乙個引數是分隔符(必須指定),在連線字串的時候,只要有乙個字串不是 null,就不會返回 null。

3.3 collect_set&collect_list函式

兩函式區別collect_set會對資料進行去重

4.1、 date_format 函式(根據格式整理日期)

4.2、 date_add 函式(日期加天數),當第二個引數是負數時就變成減了

4.3、date_sub 函式(日期減天數),第二個引數是負數時就變成加了

4.4、 next_day 函式

取當前天的下乙個周一

說明: 星期一到星期日的英文(monday, tuesday、 wednesday、 thursday、 friday、 saturday、 sunday)

4.5、 last_day 函式(求當月最後一天日期)

4.6、datediff 函式 (兩個日期相差的天數)

4.7、add_months 函式 (日期加減月)

語法描述::str_to_map(varchar text, varchar listdelimiter, varchar keyvaluedelimiter)

功能描述:使用 listdelimiter 將 text 分隔成 k-v 對, 然後使用 keyvaluedelimiter 分隔每個 k-v 對,組裝成 map 返回。 預設 listdelimiter 為( , ) , keyvaluedelimiter 為(=) 。

Hive常用函式

if判斷 select if 1 1,yes no 返回yes 語法 case expression when condition1 then result1 when condition2 then result2 else result end 例子 case a when 1 then one...

hive常用函式

hive常用函式 1 檢視函式用法 desc function 函式名 desc function extended 函式名 2 獲取array陣列長度 size函式 select size collect list field from table select size split hello ...

Hive常用函式

常用日期函式 unix timestamp 返回當前或指定時間的時間戳 from unixtime 將時間戳轉為日期格式 current date 當前日期 current timestamp 當前的日期加時間 to date 抽取日期部分 year 獲取年 month 獲取月 day 獲取日 ho...