我有一张表,其中某些列可能具有这样的值
我有#34; Oracle通配符"在表中,因为我将以这种方式访问它:
where myVal like field_1
例如,如果myVal是XYZW,则previus将匹配两者:
有一种方法可以说"如果myVal在字段中完全明确,只考虑它?"
我试着通过一个例子更好地解释:
答案 0 :(得分:1)
您可以为您运行的比较创建订单。
create table match_tests (val varchar2(10), priority number);
insert into match_tests values ('%YZW',1);
insert into match_tests values ('%',2);
此优先级列指定您想要'%YZW'匹配被认为是最高优先级,其次是'%'作为次高。
然后你可以像这样查询:
select min(priority)
from match_tests
where 'XYZW' like val;
结果是1。
或者这个:
select min(priority)
from match_tests
where 'YZ' like val;
结果是2。