<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">oracle 直接IN 多个值的变量是不行的,不过可以采用一个变通的方法INSTR</span>
declare
v_mech VARCHAR2(20);
v_cnt NUMBER(20);
begin
v_mech := '''a'''||','||'''b''';
with tt(tid,tname) as (
select 1,'a' from dual union all
select 2,'b' from dual union all
select 2,'c' from dual
)
select count(*) into v_cnt from tt
where instr(v_mech,tname) > 0;
dbms_output.put_line(v_cnt);
end;