將有逗號的字串拆解

2022-08-24 16:09:13 字數 2583 閱讀 4262

function regexp_substr(string, pattern, position, occurrence, modifier)

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

__pattern    :進行匹配的正規表示式

__position   :起始位置,從第幾個字元開始正規表示式匹配(預設為1)

__occurrence :標識第幾個匹配組,預設為1

__modifier   :模式('i'不區分大小寫進行檢索;'c'區分大小寫進行檢索。預設為'c'。)

1、查詢使用正則分割後的第乙個值,也就是17

[sql] 

select regexp_substr('17,20,23','[^,]+',1,1,'i') as str from dual;  

結果:  17  

2、查詢使用正則分割後的最後乙個值,也就是23

[sql]

select regexp_substr('17,20,23','[^,]+',1,3,'i') as str from dual;  

結果:  23

3、獲取乙個多個數值的列,從而能夠讓結果以多行的形式展示出來

[sql] 

select level from dual connect by level <=7;  

結果:  

--1--2

--3--4

--5--6

--74、將上面regexp_substr的occurrence關聯

[sql] 

select nvl(regexp_substr('17,20,23', '[^,]+', 1, level, 'i'), 'nulll') as str

from dual   connect by level <= 7;  

結果:-- 17

--20

--23

--null

--null

--null

--null  

5、優化上面的sql語句,讓生成的行的數量符合實際情況

[sql] 

select regexp_substr('17,20,23', '[^,]+', 1, level, 'i') as str    

from dual   connect by level <=        

length('17,20,23') - length(regexp_replace('17,20,23', ',', ''))+1;  

結果:-- 17

--20

--23

function regexp_substr(string, pattern, position, occurrence, modifier)

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

__pattern    :進行匹配的正規表示式

__position   :起始位置,從第幾個字元開始正規表示式匹配(預設為1)

__occurrence :標識第幾個匹配組,預設為1

__modifier   :模式('i'不區分大小寫進行檢索;'c'區分大小寫進行檢索。預設為'c'。)

1、查詢使用正則分割後的第乙個值,也就是17

[sql] 

select regexp_substr('17,20,23','[^,]+',1,1,'i') as str from dual;  

結果:  17  

2、查詢使用正則分割後的最後乙個值,也就是23

[sql]

select regexp_substr('17,20,23','[^,]+',1,3,'i') as str from dual;  

結果:  23

3、獲取乙個多個數值的列,從而能夠讓結果以多行的形式展示出來

[sql] 

select level from dual connect by level <=7;  

結果:  

--1--2

--3--4

--5--6

--74、將上面regexp_substr的occurrence關聯

[sql] 

select nvl(regexp_substr('17,20,23', '[^,]+', 1, level, 'i'), 'nulll') as str

from dual   connect by level <= 7;  

結果:-- 17

--20

--23

--null

--null

--null

--null  

5、優化上面的sql語句,讓生成的行的數量符合實際情況

[sql] 

select regexp_substr('17,20,23', '[^,]+', 1, level, 'i') as str    

from dual   connect by level <=        

length('17,20,23') - length(regexp_replace('17,20,23', ',', ''))+1;  

結果:-- 17

--20

--23

逗號分割的字串轉成表

1.建立乙個type create or replace type tools strlist 2.建立乙個function create or replace function tools str2list str in in varchar2 return tools strlist is v ...

去掉字串首尾逗號 PHP去除字串開頭或末尾逗號

去除最後乙個逗號 str a,b,c,d,echo rtrim str,返回的結果就是 a,b,c,d 去除開頭逗號 str a,b,c,d echo ltrim str,返回的結果就是 a,b,c,d 用到的函式 trim 函式從字串的兩端刪除空白字元和其他預定義字元。trim string,ch...

strtok讀取以逗號分開的字串

strtok 原型 extern char strtok char s,char delim 用法 include 功能 分解字串為一組標記串。s為要分解的字串,delim為分隔符字串。說明 首次呼叫時,s必須指向要分解的字串,隨後呼叫要把s設成null。strtok在s中查詢包含在delim中的字...