select
regexp_substr('a-b--->d--->e f','[^--->]+',1,1) col1
,regexp_substr('a-b--->d--->e f','[^--->]+',1,2) col2
,regexp_substr('a-b--->d--->e f','[^--->]+',1,3) col3
,regexp_substr('a-b--->d--->e f','[^--->]+',1,4) col4
from dual
输出功率
| 列1|第2列|第3列|第4列|
| - -|- -|- -|- -|
| 一种|最佳|日|e f|
所需输出
| 列1|第2列|第3列|第4列|
| - -|- -|- -|- -|
| a-b型|日|e f||
3条答案
按热度按时间dgtucam11#
您可以使用:
或者,如果您要查找固定分隔符字符串
--->
,则可以使用简单的字符串函数(键入更多内容,但可能会快得多):其中,对于示例数据:
两者输出:
| COL1| COL 2系统|COL3| COL4|
| - -|- -|- -|- -|
| a-b型|日|e f| * 空值 *|
fiddle
k75qkfdt2#
ss2ws0br3#
[^--->]
是character set,因此没有必要在其中指定两次相同的字符。一个有效的正则表达式是:
它匹配不是连字符或带有任意数量可能的尾随连字符的
>
的任何字符,并且以贪婪的方式重复该模式。观看here演示。