안녕하세요, 임의의 순서로 문자열에서 무작위로 발생하는 패턴을 찾아야합니다.
열의 값은 다음과 같을 수 있습니다.
'k=34,n=WER-RTN,l=hy33,z=device'
'k=34,l=hy33,z=device,n=WER-RTN'
'n=WER-RTN,l=hy33,z=device,k=34'
n = till ''에 대한 값을 선택해야합니다. 그렇지 않으면 마지막까지 끝까지 발생합니다. 그러나 n은 문자열의 어느 곳에서나 나타날 수 있습니다.
WER-RTN
값 을 얻으려면 다음 과 같은 정규식을 사용하여 해당 값을 추출 할 수 있습니다.
WITH t AS (SELECT 'k=34,n=WER-RTN,l=hy33,z=device' text FROM dual
UNION
SELECT 'k=34,l=hy33,z=device,n=WER-RTN' text FROM dual
UNION
SELECT 'n=WER-RTN,l=hy33,z=device,k=34' text FROM dual)
SELECT REPLACE(REPLACE(REGEXP_SUBSTR(text,'(n=.+?,)|(n=.+?$)'),'n='),',')
FROM t
Oracle 11g 이상을 사용하는 경우 약간 단순화 할 수 있습니다.
REGEXP_SUBSTR (text, '(^|,)n=([^,]+)', 1, 1, '', 2)
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다