2013-05-15 3 views
0

테이블 중 하나에 오류 메시지가 저장된 열 설명이 있습니다. 오류 msg는 아래 형식 중 하나 일 수 있습니다. , ERR1, ERR2 :원하는 출력을 얻기 위해 열 구문 분석

a.failed due to warnings.ERR: [] | WARNINGS: [war1,war2] | Warn_fina [war1,war2] | otherErrors [] 
b.failed due to Errors.ERR: [Err1,Err2] | warnings: [war1,war2] | warn_fina [] | otherErrors [] 
c.Reading failed stacktrace bla bla. 
d.othererror stacktrace bla bla. 

은 이제 모든 열을 선택하는 선택 쿼리를 작성할 필요가 있지만

이하 I처럼 필요이 설명 컬럼 출력 그러므로 출력 A 형 또는 B 있다면 War1, War2 괄호 안에 처음 두 문자로 된 오류 및 경고 만 표시합니다. a 또는 b가 아닌 경우이 열에는 아무 것도 나타나지 않아야합니다.

오라클 레지스터 표현식이 도움이된다고 생각합니다.

하나의 선택 쿼리로 위의 기준을 달성 할 수 있습니까? 기본적으로 대괄호 안에 경고 코드 인 오류 코드 만 가져와야합니다. 문자열에서 두 개의 하위 그룹을 의미합니다.

+0

LIKE 절에서 패턴을 사용해보십시오. (또한보십시오 : http://msdn.microsoft.com/en-us/library/ms187489(v=sql.105).aspx) –

+0

만약 내가 같은 절을 사용하면 데이터가 아닌 다른 데이터를 풀 것입니다. 모든 열에 모든 정보가 필요합니다. – Mahesh

+0

지정된 열 값에 대한 추가 조건 만 null 또는 쉼표로 구분 된 war/err이어야합니다. – Mahesh

답변

0

regexp_replace 및 regexp_substr 기능을 사용하면 오류 및 경고 만 표시됩니다.

테이블에서 select *, regexp_replace()를 쓸 수있는 것이 하나 더 필요합니까?

관련 문제