hive sql中的字元組合 字元拼接函式

2021-10-18 16:39:12 字數 946 閱讀 8748

1.簡單拼接

concat(str1,str2,str3,……) 函式返回結果為函式中的幾個引數連線組成的字串,如果引數中有乙個為null,則返回值為null。

eg: select concat(『每天』,』都要』,』開心』)

result:』每天都要開心』 ;

2.可自定義拼接時的間隔符

concat_ws(separater,str1,str2,str3,……) ,第乙個引數為其他引數的分隔符,分隔符放在要連線的兩個字元之間,分隔符可以是乙個字元也可以是其它引數。

eg: select concat(『+』,『每天』,』都要』,』開心』)

result:』每天+都要+開心』 ;

3.concat_ws()函式常常和collect_list()和collect_set()組合使用,對於電商公司而言可以很好的了解顧客組合購置商品的情況,為運營做組合**方案提供資料支援。

collect_list()和collect_set()可以將分組中的某列轉換為乙個陣列,其中collect_list()返回乙個列表,collect_set()返回乙個集合,collect_set()可實現對某列中的元素進行去重;

sort_array()函式可以對列表中的內容進行排序,預設公升序;

eg:定義乙個顧客購買產品清單表table

customer

product

張三1啤酒

張三2紙尿褲

李四1手機

李四2無線耳機

李四3路由器

select customer,concat_ws(「+」,sort_array(collect_set(product))) as zuhe from table group by customer;

result:

customer

product

張三1啤酒+2紙尿褲

李四1手機+2無線耳機+3路由器

hivesql 匹配特殊轉義字元

如果需要用like來匹配字串中的特殊字元,eg.需要對其做轉義,否則會當做正則表達被處理。hive select channel from test a?bc a bc a.bc hive select channel from test where channel like a?bc hive s...

輸出該字串中字元的所有組合

題目 輸入乙個字串,輸出該字串中字元的所有組合。舉個例子,如果輸入 abc,它的組合有a b c ab ac bc abc。分析 在本系列部落格的第 28題 字串的排列 中,我們詳細討論了如何用遞迴的思路求字串的排列。同樣,本題也可以用遞迴的思路來求字串的組合。假設我們想在長度為 n的字串中求 m個...

01 輸出字串中字元的所有組合

1 def perm s 2 這裡是遞迴函式的出口,為什麼呢,因為這裡表示 乙個長度為1的字串,它的排列組合就是它自己。3if len s 1 4return s 5 sl 儲存字串的所有可能排列組合 6for i in range len s 這個迴圈,對應 解題思路1 確定字串的第乙個字母是誰,...