zoukankan      html  css  js  c++  java
  • oracle判断一个字符串中是否包含另外一个字符串

    select * from a where instr(a,b)>0;

    用于实现B字段是A字段中的某一部分的时候,要论顺序或者要相邻的字符。

    如果想要不论顺序或者不相邻的字符时,定义函数可以实现:

    select * from a where instr(a,b)>0;

    这个只能实现B字段是A字段中的某一部分的时候。 如果想要不论顺序或者不相邻的字符时,定义函数可以实现

    create or replace function checks(v_a varchar2,v_b varchar)
      return number
      as
         num number;
         cou number;
      begin
         num := -1;
         cou:=0;
         for i in 1..length(v_b) loop
            if instr(v_a,substr(v_b,i,1))>0 then
         cou:=cou+1;
            end if;
         end loop;
         if cou=length(v_b) then
         return cou;
         end if;
         dbms_output.put_line(cou||'    '||length(v_b));
      return num;
      end;
     
    结果:
     SQL> select * from a;
     
    A          B
     ---------- ----------
     asdf       sd
     asdf       ad
     asdf       df
     asdf       asdf
     
    SQL> select * from a where checks(a,b)>0;
     
    A          B
     ---------- ----------
     asdf       sd
     asdf       ad
     asdf       df
     asdf       asdf
     
  • 相关阅读:
    数据库的......
    数据库
    XML
    网络编程
    I/O系统---流
    周结

    集合,框架
    Spring入门
    Java Wed
  • 原文地址:https://www.cnblogs.com/tian830937/p/4543234.html
Copyright © 2011-2022 走看看