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

Oracle 使用LIKE选择与模式匹配的行,oracle,wildcard,sql-like,Oracle,Wildcard,Sql Like,我使用的是一个oracle数据库,其中的数据具有由任何有效XML组成的字符串属性。此XML如下所示: <tag><t1>[someIntValue]</t1><moreTags>...</moreTags></tag> [someIntValue]。。。 现在,我想选择那些没有的行对于someIntValue具有特定值。我使用了attr而不是像“%1600%”一样尝试了它,其中1600是我不想被选择的值。但是前者也给了我

我使用的是一个oracle数据库,其中的数据具有由任何有效XML组成的字符串属性。此XML如下所示:

<tag><t1>[someIntValue]</t1><moreTags>...</moreTags></tag>
[someIntValue]。。。
现在,我想选择那些没有的行对于someIntValue具有特定值。我使用了
attr而不是像“%1600%”一样尝试了它,其中1600是我不想被选择的值。但是前者也给了我一些甚至没有这个标签的行。是否存在否定该模式的通配符(类似“![1600]%”之类的
attr

提前感谢:)

选择。。。
从…起
其中attr类似于“%%”
而attr与“%1600%”不同

在正则表达式方面比我快的人可能会给你一个更好的答案,但这个答案应该足够好。

据我所知,正则表达式在类似的范围内不起作用,所以你的解决方案应该确实有效。我目前对它进行了修改,但需要很多时间来执行查询……我认为Oracle在10g中引入了regex支持。如果您能找到表达式,类REGEXP_运算符可能会有所帮助。谢谢你接受我的回答。好的提示,这就是我想要的。嗯,我接受了你的回答,因为它解决了我的问题,虽然不是我所期望的那样,但它确实解决了。
select ...
from ....
where attr like '%<t1>%</t1>%' 
and attr not like '%<t1>1600</t1>%'