oracle func_multi_like函数实现模糊匹配多个
2015-03-10 14:52
281 查看
一次like多个的函数实现
输入两个参数,参数1中包含参数2则返回的结果大于0.
这里需要注意的是此函数替代的是like关键字,如果是等于的话直接用in就好了.
create or replace function func_multi_like(p_src varchar2, p_str varchar2) return number is v_result number default 0; v_str varchar2(200); v_posistion number; v_sub_str varchar2(200); --截取的STR v_tmp_str varchar2(200); --截取后剩下的str begin --全角半角转换 v_str := REPLACE(p_str,',',','); v_str := trim(v_str); v_posistion:= instr(v_str,','); --判断有没有逗号? if v_posistion > 0 then --有逗号 截取str v_sub_str := trim(substr(v_str,0,v_posistion)); --截取后剩下的str v_tmp_str := trim(substr(v_str,v_posistion+1 ,LENGTH(v_str)-v_posistion)); --找不到逗号时,退出 while v_posistion <> 0 loop --重置 v_posistion := 0; --如果截取下来的不仅仅是逗号,则进截取数据判断。 --如果有一个匹配成功,则result>0 if LENGTH(v_sub_str)>1 and instr(p_src,trim(substr(v_sub_str,0,LENGTH(v_sub_str)-1)))> 0 then v_result:= instr(p_src,trim(substr(v_sub_str,0,LENGTH(v_sub_str)-1))); exit; end if; v_posistion:= instr(v_tmp_str,','); v_sub_str := trim(substr(v_tmp_str,0,v_posistion)); v_tmp_str := trim(substr(v_tmp_str,v_posistion+1,LENGTH(v_tmp_str)-v_posistion)); end loop; if instr(p_src,trim(v_tmp_str))> 0 then v_result:= instr(p_src,trim(v_tmp_str)); end if; else --没有逗号,直接匹配 v_result:= instr(p_src,v_str) ; end if; return v_result; --返回0,则匹配失败,返回大于0则匹配成功。 end;
输入两个参数,参数1中包含参数2则返回的结果大于0.
这里需要注意的是此函数替代的是like关键字,如果是等于的话直接用in就好了.
相关文章推荐
- Oracle instr()函数替代like实现模糊查询
- Oracle中使用escape关键字实现like匹配特殊字符,以及&字符的转义
- Oracle下实现同时满足多个字段的模糊匹配
- Oracle中使用escape关键字实现like匹配特殊字符,以及&字符的转义
- 关于ORACLE中使用LIKE进行多字段模糊匹配的一种解决思路
- Oracle中使用escape关键字实现like匹配特殊字符,以及&字符的转义
- GreenPlum 集群中通过orafunc实现Oracle兼容函数
- Oracle模糊查询之(3.2从使用函数和sql语法角度来提高模糊查询效率 二)ORACLE中Like与Instr模糊查询性能大比拼
- Mybatis如何使用like实现模糊匹配
- 从SQL Server向Oracle迁移的技术实现方案(七)常用SQL语法与函数
- 【ZT】SQL实现多字段模糊匹配关键字查询
- oracle 实现split 函数
- SQL语句实现按关健字模糊查询,并按匹配度排序
- oracle中正则表达式相关函数regexp_like简介
- oracle中正则表达式相关函数regexp_like简介
- oracle sql语言模糊查询--通配符like的使用教程
- Oracle 中常见函数在teradata中如何实现
- Oracle开发专题之:实现split 函数
- oracle 实现 split 函数 (返回数组)
- Hibernate 针对 Oracle 特有函数及自定义函数的实现办