最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

mysql 拼接字符串

來源:懂視網(wǎng) 責(zé)編:李贏贏 時間:2021-12-06 11:52:50
文檔

mysql 拼接字符串

一、Oracle數(shù)據(jù)庫按分隔符拆分字符串:1、應(yīng)用函數(shù)REGEXP_SUBSTR;2、語法:REGEXP;3、參數(shù)解釋:需要進行正則處理的字符串;4、測試SQL。二、hive數(shù)據(jù)庫按分隔符拆分字符串:1、split函數(shù);2、explode函數(shù):用于打散行的函數(shù),將一行的數(shù)據(jù)拆分成一列。
推薦度:
導(dǎo)讀一、Oracle數(shù)據(jù)庫按分隔符拆分字符串:1、應(yīng)用函數(shù)REGEXP_SUBSTR;2、語法:REGEXP;3、參數(shù)解釋:需要進行正則處理的字符串;4、測試SQL。二、hive數(shù)據(jù)庫按分隔符拆分字符串:1、split函數(shù);2、explode函數(shù):用于打散行的函數(shù),將一行的數(shù)據(jù)拆分成一列。

mysql拼接字符串是什么呢?不知道的小伙伴來看看小編今天的分享吧!

一、Oracle數(shù)據(jù)庫按分隔符拆分字符串

1、應(yīng)用函數(shù)

REGEXP_SUBSTR

2、語法

REGEXP_SUBSTR(String, pattern, position, occurrence, modifier)

3、參數(shù)解釋

__srcstr     :需要進行正則處理的字符串

__pattern    :進行匹配的正則表達式

__position   :起始位置,從第幾個字符開始正則表達式匹配(默認為1)

__occurrence :標識第幾個匹配組,默認為1

__modifier   :模式('i'不區(qū)分大小寫進行檢索;'c'區(qū)分大小寫進行檢索。默認為'c'。)

4、測試SQL

select regexp_substr('1,2,3','[^,]+',1,1) result from dual;

運行結(jié)果:

1select regexp_substr('1,2,3','[^,]+',1,1) result from dual;

5、REGEXP_SUBSTR+CONNECT BY 使用

按分隔符拆分字符串+CONNECT BY 動態(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

二、hive數(shù)據(jù)庫按分隔符拆分字符串

1,split()函數(shù)

定義

split()函數(shù)是用于切分數(shù)據(jù),也就是將一串字符串切割成了一個數(shù)組

語法

語法:split(string str, string pat)
返回值:數(shù)組類型array

參數(shù)解釋

string str :待分割字符串
string pat:分割符

測試SQL:

select split ('wo,shi,xiao,ming',',');

運行結(jié)果:

["wo","shi","xiao","ming"]

2、explode函數(shù)

定義

explode()函數(shù)是用于打散行的函數(shù),將一行的數(shù)據(jù)拆分成一列

語法

explode(array/map類型)
select explode(array_col) as new_col from table_name

測試SQL:

select explode(array("wo","shi","xiao","ming")) as word;

運行結(jié)果:

wo

shi

xiao

ming

explode函數(shù)的局限性

不能關(guān)聯(lián)原有的表中的其他字段

不能與group by、cluster by、distribute by、sort by聯(lián)用

不能進行UDTF嵌套

參數(shù)只能是兩種類型

一個select后面只能獲得一個explode產(chǎn)生的視圖,如果要顯示多個列,則需要將多個視圖合并。

3、lateral view

定義:

Lateral View用于和UDTF函數(shù)(explode、split)結(jié)合來使用

首先通過UDTF函數(shù)拆分成多行,再將多行結(jié)果組合成一個支持別名的虛擬表。虛擬表相當于再和主表關(guān)聯(lián), 從而達到添加“UDTF生成的字段“以外字段的目的, 即主表里的字段或者主表運算后的字段。

主要解決在select使用UDTF做查詢過程中,查詢只能包含單個UDTF,不能包含其他字段、以及多個UDTF的問題

語法:

lateral view UDTF(expression) table_view as  new_column;

參數(shù)解釋:

UDTF(expression):復(fù)合邏輯規(guī)則的UDTF函數(shù),最常用的explode

table_view : 對應(yīng)的虛擬表的表名

new_col: 虛擬表里存放的有效字段

測試:

select col_type   -- 已拆分數(shù)據(jù)

from table_name

lateral view explode(split(col,',')) t as col_type   --col 為需要拆分的字段

以上就是小編今天的分享了,希望可以幫助到大家。

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

mysql 拼接字符串

一、Oracle數(shù)據(jù)庫按分隔符拆分字符串:1、應(yīng)用函數(shù)REGEXP_SUBSTR;2、語法:REGEXP;3、參數(shù)解釋:需要進行正則處理的字符串;4、測試SQL。二、hive數(shù)據(jù)庫按分隔符拆分字符串:1、split函數(shù);2、explode函數(shù):用于打散行的函數(shù),將一行的數(shù)據(jù)拆分成一列。
推薦度:
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top