DB2在两个分隔符之间提取数据

DB2在两个分隔符之间提取数据,db2,substr,Db2,Substr,以下是我试图从中提取的字符串: 'cn=XYXYXYXYX ousy,ou=information services,ou=domain users,dc=corp,dc=xyxyxx,dc=com' 我试图提取第一个'ou='和第二个逗号之间的字符串。在这种情况下,这是 “信息服务” 以下是我到目前为止的情况: SUBSTR(F_DN,locate('ou=',F_DN)+3,locate(',',',F_DN,locate(',',,F_DN)+1)作为角色 这就是结果: '信息服务,ou=

以下是我试图从中提取的字符串: 'cn=XYXYXYXYX ousy,ou=information services,ou=domain users,dc=corp,dc=xyxyxx,dc=com'

我试图提取第一个'ou='和第二个逗号之间的字符串。在这种情况下,这是 “信息服务”

以下是我到目前为止的情况: SUBSTR(F_DN,locate('ou=',F_DN)+3,locate(',',',F_DN,locate(',',,F_DN)+1)作为角色 这就是结果: '信息服务,ou=域用户,dc=co'

它似乎很好地定位到第一个字符,但我无法获得正确的长度。

尝试以下方法:

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);

太棒了,行得通。非常感谢你。我不熟悉regexp\u substr。我还得再玩一会儿。谢谢