可以考虑一下用全文匹配的功能:
SQL> select addr from test;
ADDR
------------------------------
北京海淀区民享路15号
北京市海淀区民享路15号
北京市东圃区民生路15号
广州市天河区民享路10号
北京海淀区民享路20号
北京市mk区民享路15号
已选择6行。
SQL> select addr from test where contains(addr,'北京 near 海淀 and 民享 near 15'
)>0;
ADDR
------------------------------
北京海淀区民享路15号
北京市海淀区民享路15号