oracle將一個(gè)字段拆分成多個(gè)值 (regexp_substr函數(shù))
1、基本語(yǔ)法
REGEXP_SUBSTR(String, pattern, position,occurrence, modifier)
String:需要進(jìn)行處理的字符串。
pattern:正則表達(dá)式。
position:起始位置(從字符串的第幾個(gè)開始,默認(rèn)為1,注:數(shù)據(jù)庫(kù)中的字符串起始位置為1)。
occurrence:獲取第幾組通過正則表達(dá)式分割出來的組。
modifier:模式(‘i’不區(qū)分大小寫,‘c’區(qū)分大小寫。其中默認(rèn)沒‘c’)。
2、解析
SELECT DISTINCT REGEXP_SUBSTR('A,B,C,D,E,F', '[^,]+',1) FROM DUAL; SELECT DISTINCT REGEXP_SUBSTR('A,B,C,D,E,F', '[^,]+',1,3) FROM DUAL;

2)在oracle中rownum和level都是自動(dòng)生成數(shù)字序列集合,結(jié)合connect by使用
select DISTINCT regexp_substr('A,B,C,D,E,F', '[^,]+',1,level) from DUAL connect by level <= length('A,B,C,D,E,F') - length(replace('A,B,C,D,E,F',',','')) + 1; select DISTINCT regexp_substr('A,B,C,D,E,F', '[^,]+',1,rownum) from DUAL connect by rownum <= length('A,B,C,D,E,F') - length(replace('A,B,C,D,E,F',',','')) + 1;
結(jié)果如下:

不管在什么地方上班,請(qǐng)記?。? 工作不養(yǎng)閑人,團(tuán)隊(duì)不養(yǎng)懶人。入一行先別惦記著賺錢,先學(xué)著讓自己值錢。賺不到錢賺知識(shí);賺不到知識(shí)賺經(jīng)歷;賺不到經(jīng)歷賺閱歷;以上都賺到了就不可能賺不到錢。只有先改變自己的態(tài)度,才能改變?nèi)松母叨取? 讓一個(gè)人迷茫的原因只有一個(gè),那就是本該拼搏的年紀(jì),卻想的太多,做的太少。

浙公網(wǎng)安備 33010602011771號(hào)