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
     
  • 相关阅读:
    python学习day3--python基础
    python学习day2--python基础
    python学习day1--python基础
    包导入原则
    模块搜索路径
    继承顺序
    继承,派生,组合
    面向对象程序设计
    类和对象
    递归
  • 原文地址:https://www.cnblogs.com/tian830937/p/4543234.html
Copyright © 2011-2022 走看看