oracle切割字符串函数Oracle中分割逗号函数REGEXP_SUBSTR
最近优化FORM中的查询条件遇到某个字段可以选取多个值的问题,思路当然就是选取时将多个值通过某个符号拼接起来,查询数据的时候将拼接后的字符串按照符号分割开,在分割逗号的时候⽤到了⼀个新的⽅法REGEXP_SUBSTR,记录⼀下。该⽅法分割所有的逗号,返回多⾏。
SELECT regexp_substr(p_item_code, '[^,]+', 1, LEVEL) AS pscode
FROM dual
CONNECT BY LEVEL <= length(p_item_code) + 1 -length(REPLACE(p_item_code, ',', ''))
⽅法说明:REGEXP_SUBSTR(String,pattern,position,occurrence,modifier)
参数说明:
参数1:带分割字符串,在此处即为开始拼接起来的字符串
参数2:正则表达式,此处⽤的'[^,]+'表⽰匹配⼀个或多个不是“,”的字符。
参数3:起始位置,从第⼏个字符开始正则表达式匹配,默认是1
参数4:标识第⼏个匹配组,默认为1
参数5:匹配模式,i不区分⼤⼩写进⾏检索,c区分⼤⼩写进⾏检索,默认是c
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论