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

    oracle判断一个字符串中是否包含另外一个字符串

    https://blog.csdn.net/zhangbingtao2011/article/details/52411679

    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

  • 相关阅读:
    SQL查询
    SQL语句
    SQL语句
    查询设计分析
    数据库引擎调整顾问
    详解执行计划
    详解索引连接类型
    查询开销
    利用SQL Profiler处理开销较大的查询
    状压dp的题目列表 (一)
  • 原文地址:https://www.cnblogs.com/handsome1013/p/9203574.html
Copyright © 2011-2022 走看看