mysql,拼接字符串
一、Oracle數據庫按分隔符拆分字符串
1、應用函數
REGExp_SUBSTR
2、語法
REGEXP_SUBSTR(String, pattern, position, occurrence, modifier)
3、參數解釋
__srcstr :需要進行正則處理的字符串
__pattern :進行匹配的正則表達式
__position :起始位置,從第幾個字符開始正則表達式匹配(默認爲1)
__occurrence :標識第幾個匹配組,默認爲1
__modifier :模式('i'不區分大小寫進行檢索;'c'區分大小寫進行檢索。默認爲'c'。)
4、測試SQL
select regexp_substr('1,2,3','[^,]+',1,1) result from dual;
運行結果:
1select regexp_substr('1,2,3','[^,]+',1,1) result from dual;
5、REGEXP_SUBSTR+CONNECT BY 使用
按分隔符拆分字符串+CONNECT BY 動態參數
測試SQL:
SELECT
REGEXP_SUBSTR ('1,2,3,4,5', '[^,]+', 1,ROWNUM)
FROM dual
CONNECT BY ROWNUM <= LENGTH( '1,2,3,4,5' ) - LENGTH(regexp_replace('1,2,3,4,5', ',', '' )) + 1
二、hive數據庫按分隔符拆分字符串
1,split()函數
定義
split()函數是用於切分數據,也就是將一串字符串切割成了一個數組
語法
語法:split(string str, string pat)
返回值:數組類型array
參數解釋
string str :待分割字符串
string pat:分割符
測試SQL:
select split ('wo,shi,xiao,ming',',');
運行結果:
["wo","shi","xiao","ming"]
2、explode函數
定義
explode()函數是用於打散行的函數,將一行的數據拆分成一列
語法
explode(array/map類型)
select explode(array_col) as new_col from table_name
測試SQL:
select explode(array("wo","shi","xiao","ming")) as word;
運行結果:
wo
shi
xiao
ming
explode函數的侷限性
不能關聯原有的表中的其他字段
不能與group by、cluster by、distribute by、sort by聯用
不能進行UDTF嵌套
參數只能是兩種類型
一個select後面只能獲得一個explode產生的視圖,如果要顯示多個列,則需要將多個視圖合併。
3、lateral view
定義:
Lateral View用於和UDTF函數(explode、split)結合來使用
首先通過UDTF函數拆分成多行,再將多行結果組合成一個支持別名的虛擬表。虛擬表相當於再和主表關聯, 從而達到添加“UDTF生成的字段“以外字段的目的, 即主表裏的字段或者主表運算後的字段。
主要解決在select使用UDTF做查詢過程中,查詢只能包含單個UDTF,不能包含其他字段、以及多個UDTF的問題
語法:
lateral view UDTF(expression) table_view as new_column;
參數解釋:
UDTF(expression):複合邏輯規則的UDTF函數,最常用的explode
table_view : 對應的虛擬表的表名
new_col: 虛擬表裏存放的有效字段
測試:
select col_type -- 已拆分數據
from table_name
lateral view explode(split(col,',')) t as col_type --col 爲需要拆分的字段
-
適合表白煽情的話
1、日子苦點沒關係因爲還有你2、詩人依賴月亮而我只想依賴你3、鞦韆水竹馬道一眼見你萬物不及4、你是我所有的少女情懷和心之所向5、喜歡你,沒有技巧,真誠又野蠻。6、第一次見到你,我就知道我栽了。7、海底月是天上月,眼前人是心上人。8、路邊的廣告牌有一個字是你...
-
韭菜泡腳要煮多久
1、韭菜泡腳要熬煮十分鐘左右。2、韭菜是生活中經常食用的一種蔬菜,又稱壯陽草。味辛,性溫,能行氣活血,解毒消腫,溫中開胃,補腎助陽。韭菜水泡腳有一個非常顯著的功效,可以治療腳氣。韭菜泡腳有助於加速局部的血液循環。...
-
竈馬蟋咬人嗎
1、竈馬蟋咬人。這種昆蟲無毒。用一般的滅害靈便可除掉2、竈馬蟋又名竈蟋、竈蟀、竈雞、竈鴨、竈馬蟋蟀,屬直翅目蟋蟀科學,對人沒有什麼危害,主要是對農作物的危害大。3、竈馬蟋可以說是在昆蟲中分佈最廣的一種,我國的南北東西都有它的存在。它與人的關係十分密切...
-
第一次失戀的說說
一、我希望自己能寫這樣的詩。我希望自己也是一顆星星。二、不能自拔的,除了愛情,還有別人地裏的胡蘿蔔。三、我習慣了不該習慣的習慣,卻執着着不該執着的執着。四、離開我就別安慰我,要知道每一次縫補也會遭遇穿刺的痛。五、不是我太傷感不會憧憬幸福,只是不相信這...