我想用PL/SQL將一個分號分隔的字符串分成它的部分。只要字符串中沒有圓括號,它就可以和REGEXP_SUBSTR正常工作。REGEXP_SUBSTR圓括號
實施例:如預期
select REGEXP_SUBSTR('A;B;C','[^(";")]+',1,1),
REGEXP_SUBSTR('A;B;C','[^(";")]+',1,2),
REGEXP_SUBSTR('A;B;C','[^(";")]+',1,3)
from dual;
結果是:ABC
對於結果A; B(1); C應該AB(1)C,但我得到的是:AB 1
select REGEXP_SUBSTR('A;B(1);C','[^(";")]+',1,1),
REGEXP_SUBSTR('A;B(1);C','[^(";")]+',1,2),
REGEXP_SUBSTR('A;B(1);C','[^(";")]+',1,3)
from dual;
這意味着「(」被檢測爲分隔符,但我不明白這種行爲。有人可以告訴我嗎?
非常感謝,我明白了。 – user1838910
@ user1838910如果您滿意,您可以接受此解決方案並關閉此問題 – SriniV