2014-09-19 3 views
0

유효한 XML로 구성된 문자열 속성을 가진 데이터와 함께 oracle-database를 사용하고 있습니다. 이 XML은 다음과 같습니다LIKE를 사용하여 패턴과 일치하는 행 선택

<tag><t1>[someIntValue]</t1><moreTags>...</moreTags></tag> 

가 지금은 하지someIntValue에 대한 특정 값이 할 행을 선택합니다. attr NOT LIKE '%<t1>1600</t1>%'을 사용하여 시험해 보았습니다. 1600은 내가 선택하고 싶지 않은 값입니다. 하지만 전자는 심지어이 태그가없는 행을 제공합니다. 패턴을 부정 와일드 카드 (attr LIKE '%<t1>![1600]</t1>%' 같은) 사전에

감사합니다 :) 당신에게 좋은 대답을 줄 수있는 정규 표현식 나보다 더 빨리이다

답변

1
select ... 
from .... 
where attr like '%<t1>%</t1>%' 
and attr not like '%<t1>1600</t1>%' 

사람이 있나요 그러나 이것은 잘 작동합니다 충분히.

+0

Well regex는 내가 아는 한 LIKE 내에서 작동하지 않으므로 솔루션이 실제로 작동해야합니다. 나는 현재 그것을 다양 화하지만 질의를 수행하는 데 많은 시간이 필요하다 ... – HimBromBeere

+0

오라클은 10g에서 정규 표현식을 지원한다고 생각한다. 표현식을 생각해 내면 REGEXP_LIKE 연산자가 도움이 될 수 있습니다. 어쨌든 내 대답을 수락 해 주셔서 감사합니다. – Bacs

+0

좋은 힌트, 그게 내가 찾고 있던거야. 글쎄, 내 문제를 해결했기 때문에 나는 당신의 대답을 받아 들였다. 비록 그것이 내가 예상했던 방식대로는 아니었지만 그것은 그랬다. – HimBromBeere

관련 문제