regexp_substr用法詳細(xì)說明 oracle中使用regexp_substr取值。(最好用正則)?
oracle中使用regexp_substr取值。(最好用正則)?select regexp_substr(regexp_substr("","a2=".*""),"w ",1,2) from dua
oracle中使用regexp_substr取值。(最好用正則)?
select regexp_substr(regexp_substr("","a2=".*""),"w ",1,2) from dual結(jié)果:b22222,如無a2時(shí),值null
regexp_substr如何截取報(bào)文中相同的兩個(gè)節(jié)點(diǎn)的值?
select substr(列名, regexp_instr(列名,"-",1), (regexp_instr(列名,"-",1,2)-regexp_instr(列名,"-",1,2)) ) from 表明substr(列名,位置1,位置2)意思是截取列名,從位置1開始,截取位置2 為例如 select substr("410000",1,2) 就是從第一位開始,截取兩位,返回的就是41regexp_instr(列名,"-",1,1)是返回列名第一個(gè)"-"的位置,第一個(gè)1表示開始位置,可以缺省,默認(rèn)為從頭開始,第二個(gè)1表示第一次出現(xiàn)的意思,可缺省regexp_instr(列名,"-",1,2)是返回列名第二個(gè)"-"的位置,1表示開始位置,在這里不能缺省,因?yàn)?表示的是第二次出現(xiàn)的意思,如果缺省的話,意思就不對了
ORACLE,REGEXP_REPLACE正則寫法?
不能這樣寫的,如果你的oracle是10g以上的話,可以使用下面的語句來完成
SELECTREGEXP_REPLACE("0001aaa00002","0001|0002","----")fromdual
這樣,運(yùn)行結(jié)果就為:----aaa0----
其中,0001|0002代表的是正則表達(dá)式。
上面的語句對應(yīng)為:REGEXP_REPLACE(treeid,"0001|0002","----")
如果不是10g以上的話,則只能:repalce(replace(treeid,"0001","----"),"0002","----")
regexpinstr怎么使用?
instr函數(shù)在Oracle/PLSQL中是返回要截取的字符串在源字符串中的位置。instr是一個(gè)非常好用的字符串處理函數(shù),幾乎所有的字符串分隔都用到此函數(shù)。 示例: 本示例使用 InStr 函數(shù)來查找某字符串在另一個(gè)字符串中首次出現(xiàn)的位置。 DimSearchString...
oracle字符串拆分?
oracle 中可以用connect by把字符串按都好分割:比如定義字符串:pv_no_list :="23,34,45,56"SELECT DISTINCT REGEXP_SUBSTR (pv_no_list,"[^,] ",1,LEVEL) as "token"FROM DUALCONNECT BY REGEXP_SUBSTR (pv_no_list,"[^,] ",1,LEVEL) IS NOT NULLorder by 1返回結(jié)果:TOKEN23344556