使用LIKE选择与模式匹配的行

时间:2014-09-19 10:12:52

标签: oracle wildcard sql-like

我正在使用一个oracle-database,其数据的字符串属性由任何有效的XML组成。此XML如下所示:

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

现在,我想选择具有someIntValue特定值的行。我使用attr NOT LIKE '%<t1>1600</t1>%'试了一下,其中1600是我不想被选中的值。但前者也给了我甚至没有这个标签的行。是否有任何通配符否定模式(类似attr LIKE '%<t1>![1600]</t1>%'

提前致谢:)

1 个答案:

答案 0 :(得分:1)

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

使用正则表达式比我快的人可能会给你一个更好的答案,但这个应该可以运作得很好。