假设我有以下字符串:a=A#abc=Y#sps=Y#
在表的某些领域。
我想使用此查询查询a
并获取A
:
select UPPER(REGEXP_SUBSTR(REGEXP_SUBSTR(
'a=Y#abc=Y#sps=Y#' ,
'a\=([^#]+)#?'), '[[:alpha:]]')) from dual;
我明白了:
a
---------------
N
1 row selected
答案 0 :(得分:0)
您可能需要一个REGEXP_SUBSTR:
SQL> select regexp_substr(s,'(nonExcludableInd=)([^#]*)', 1, 1, '', 2)
2 from (
3 select 'nonExcludableInd=ABCD#includePrstInd=Y#cpeInd=Y#' as s from dual
4 );
REGE
----
ABCD
没有正则表达式的解决方案可能是:
select substr(s, startPosition, instr(s, '#', startPosition ) - startPosition)
from (
select instr(s,'nonExcludableInd=')+17 as startPosition, s
from (
select 'nonExcludableInd=A#includePrstInd=Y#cpeInd=Y#' as s from dual
)
)