我在Oracle 11g中有数据并且有2个方案需要解决,有人可以在这里建议解决方案
列中的示例数据: Name1 -Value1 + Name2 -Value2 + Name3 -Value3a + Value3b + Name4 - Value4a + Value4b + Value4c + Name5 -Value5 +
请注意' +'是名称之间以及子值之间的分隔符(如在Value3a和value3b的情况下)
要解决2个问题
查找子字符串,其中+是子值分隔符,并将其替换为空格。 我试过但是当有多个值分隔符时它不起作用,如本例中的Value4a + Value4b + Value4c)
REGEXP_REPLACE(column_value, '\+([^-]*\+)[^$]', \1)
两个+没有 - 介于两者之间告诉我它们是子值 分隔符,这就是我在模式中使用的内容。
我有两个步骤来解决这个问题,但我试图看一个单一的语句(嵌套是否正常)可以解决它(如果下面的东西是可行的)
REGEXP_REPLACE(column_value, '\+([^-]*\+)[^$]', Replace all + with space from \1)
REGEXP_REPLACE(column_value, Pattern one or pattern2, replacement_string)
感谢您阅读问题