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

  • 相关阅读:
    复习时间
    核反应堆
    假期编程
    剪花布条
    Atcoder Regular Contest 072 C Alice in linear land(思维题)
    xss攻击入门
    转发 DDoS攻防战 (一) : 概述
    XSS跨站脚本攻击
    sql注入
    关于阿里云图片识别接口的demo
  • 原文地址:https://www.cnblogs.com/lteal/p/3268336.html
Copyright © 2011-2022 走看看