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 確定字串的第乙個字母是誰,...