这是我要从中提取的字符串: 'cn = xyxyxyxyxyx ousy,ou =信息服务,ou =域用户,dc = corp,dc = xyxyxx,dc = com'
我正在尝试提取第一个'ou ='和第二个逗号之间的字符串。在这种情况下 “信息服务”
这是我到目前为止的内容: SUBSTR(F_DN,locate('ou =',F_DN)+ 3,locate(',',F_DN,locate(',',F_DN)+1)+1)) 结果如下: '信息服务,ou =域用户,dc = co'
似乎可以很好地定位到第一个字符,但是我不能正确输入长度。
答案 0 :(得分:1)
尝试一下:
select regexp_substr(str, 'ou=([^,]+)', 1, 1, '', 1)
from (values 'cn=xyxyxyxyxyx ousy,ou=information services,ou=domain users,dc=corp,dc=xyxyxx,dc=com') t (str);