tlk_CDCTable_E表 tlk_DXAL_dic表
我想要判断A表中item_VC_DXALLX字段的值是否在B表中存在
1.首先写一个函数(这个函数
用于实现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;
2.
select item_VC_DXALLX from tlk_CDCTable_E where checks((SELECT replace( wm_concat(item_objid),',',';')
FROM tlk_DXAL_dic),item_VC_DXALLX) >=0
查询结果为
3
(SELECT replace( wm_concat(item_objid),',',';') FROM tlk_DXAL_dic)
作用是将b表数据转换如图格式