mysql, 什么是mysql拼接字符串?不知道小伙伴們今天來看看邊肖的分享吧!
1.Oracle數(shù)據(jù)庫通過分隔符分割字符串。
1、應(yīng)用功能
REGEXP_SUBSTR
2.語法
REGEXP_SUBSTR(String, pattern, position, occurrence, modifier)
3、參數(shù)解釋
__srcstr:需要正則化的字符串。
__pattern:匹配的正則表達(dá)式。
__position:起始位置,從正則表達(dá)式匹配的第一個(gè)字符開始(默認(rèn)為1)。
__occurrence:標(biāo)識(shí)它是哪個(gè)匹配組;默認(rèn)值為1。
__modifier: mode (I搜索不區(qū)分大小寫;c區(qū)分大小寫的搜索。默認(rèn)值為c .)
4.測試SQL
select regexp_substr(1,2,3,[^,]+,1,1) result from dual;
運(yùn)行結(jié)果:
1select regexp_substr(1,2,3,[^,]+,1,1) result from dual;
5. Use of REGEXP_SUBSTR connection mode
通過分隔符拆分字符串通過動(dòng)態(tài)參數(shù)連接測試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
2.hive數(shù)據(jù)庫通過分隔符拆分字符串。
1、split()函數(shù)
定義
split()函數(shù)用于拆分?jǐn)?shù)據(jù),即將一個(gè)字符串剪切成一個(gè)數(shù)組。
語法
Syntax: split (string str, string pat) return value: array type arrangement
參數(shù)解釋
String str:要分段的字符串string pat:分隔符。
測試SQL:
select split (wo,shi,xiao,ming,);
運(yùn)行結(jié)果:
[wo,shi,xiao,ming]
2. Explosion function
定義
Explode()函數(shù)是一個(gè)分解行的函數(shù),它將一行數(shù)據(jù)拆分成一列。
語法
Decomposition (array/map type) Select explode(array_col) from the table name as new_col
測試SQL:
select explode(array(wo,shi,xiao,ming)) as word;
運(yùn)行結(jié)果:
wo
shi
xiao
ming
爆炸功能的限制
不能關(guān)聯(lián)原始表中的其他字段。
Cannot be combined with grouping basis, classification basis, distribution basis and sorting basis.
不允許UDTF嵌套。
參數(shù)只能是兩種類型。
選擇后只能獲得一個(gè)由分解生成的視圖。如果要顯示多個(gè)列,則需要合并多個(gè)視圖。
3. Side view
定義:
側(cè)視圖與UDTF功能(分解、分割)結(jié)合使用。
首先通過UDTF函數(shù)將其拆分成多行,然后將多行的結(jié)果組合成一個(gè)支持別名的虛擬表。虛擬表相當(dāng)于與主表再次關(guān)聯(lián),從而達(dá)到添加UDTF生成的字段以外的字段的目的,即主表中的字段或主表操作后的字段。
主要解決select使用UDTF作為查詢時(shí),查詢只能包含單個(gè)UDTF,不能包含其他字段,以及多個(gè)udtf的問題。
語法:
lateral view UDTF(expression) table_view as new_column;
參數(shù)解釋:
UDTF(expression):復(fù)合邏輯規(guī)則的UDTF函數(shù),最常用的explode
table_view : 對(duì)應(yīng)的虛擬表的表名
new_col: 虛擬表里存放的有效字段
測試:
select col_type -- 已拆分?jǐn)?shù)據(jù)
from table_name
lateral view explode(split(col,)) t as col_type --col 為需要拆分的字段
mysql,以上就是本文為您收集整理的mysql最新內(nèi)容,希望能幫到您!更多相關(guān)內(nèi)容歡迎關(guān)注。