CREATE OR REPLACE function fun_getEqualsByParams(aParam varchar2,antherParam varchar2) return varchar2 is
Result varchar2(5):='true';----返回 true 或者 false
CURSOR cur_aParam IS
WITH A AS
(SELECT aParam A FROM DUAL)
SELECT REGEXP_SUBSTR(A,'[^;]+',1,LEVEL) personStr FROM A
CONNECT BY LEVEL<=LENGTH(A)-LENGTH(REPLACE(A,';'))+1;
CURSOR cur_antherParam IS
WITH B AS
(SELECT antherParam B FROM DUAL)
SELECT REGEXP_SUBSTR(B,'[^;]+',1,LEVEL) personStr FROM B
CONNECT BY LEVEL<=LENGTH(B)-LENGTH(REPLACE(B,';'))+1;
begin
FOR curA IN cur_aParam LOOP--------遍历第一个字符串是否在第二个字符串中
IF INSTR(antherParam,curA.personStr)=0 THEN
Result:='false';
RETURN Result;
END IF;
END LOOP;
FOR curB IN cur_antherParam LOOP--------遍历第二个字符串是否在第一个字符串中
IF INSTR(aParam,curB.personStr)=0 THEN
Result:='false';
RETURN Result;
END IF;
END LOOP;
RETURN Result;
end fun_getEqualsByParams;
Result varchar2(5):='true';----返回 true 或者 false
CURSOR cur_aParam IS
WITH A AS
(SELECT aParam A FROM DUAL)
SELECT REGEXP_SUBSTR(A,'[^;]+',1,LEVEL) personStr FROM A
CONNECT BY LEVEL<=LENGTH(A)-LENGTH(REPLACE(A,';'))+1;
CURSOR cur_antherParam IS
WITH B AS
(SELECT antherParam B FROM DUAL)
SELECT REGEXP_SUBSTR(B,'[^;]+',1,LEVEL) personStr FROM B
CONNECT BY LEVEL<=LENGTH(B)-LENGTH(REPLACE(B,';'))+1;
begin
FOR curA IN cur_aParam LOOP--------遍历第一个字符串是否在第二个字符串中
IF INSTR(antherParam,curA.personStr)=0 THEN
Result:='false';
RETURN Result;
END IF;
END LOOP;
FOR curB IN cur_antherParam LOOP--------遍历第二个字符串是否在第一个字符串中
IF INSTR(aParam,curB.personStr)=0 THEN
Result:='false';
RETURN Result;
END IF;
END LOOP;
RETURN Result;
end fun_getEqualsByParams;