zoukankan      html  css  js  c++  java
  • oracle中一个字符串包含另一个字符串中的所有字符

    oracle中一个字符串包含另一个字符串中的所有字符

    --解决监理报告中所勾选的标段信息,与该用户所管理的标段字符串不匹配的问题。

    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

    asdf       ac

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

    A          B
    ---------- ----------
    asdf       sd
    asdf       ad
    asdf       df
    asdf       asdf

  • 相关阅读:
    BZOJ1029_建筑抢修_KEY
    黑匣子_KEY
    食物链_KEY
    滑雪_KEY
    抓猫_KEY
    线段树初步__ZERO__.
    听说alphago又要挑战sc2了?——我眼中的人工智能
    我眼中的算法
    opencv拼接相关1
    Cstring到string
  • 原文地址:https://www.cnblogs.com/lteal/p/3268336.html
Copyright © 2011-2022 走看看