Je myGroup varray? Pokud je to řetězec, zkuste něco jako:
select 1
from dual
where 'abc,NONE,def' like '%,NONE,%'
Je těžké dodržovat omezení, pod kterými pracujete... Pokud je to vůbec možné, dělejte vše uvnitř sql a bude to rychlejší.
Aktualizace:
Takže pokud jste již v jednotce plsql a chtěli byste zůstat v jednotce plsql, výše uvedená logika by vypadala asi takto:
declare
gp varchar2(200) := 'abc,def,NONE,higlmn,op';
begin
if ','||gp||',' like '%,NONE,%' then
dbms_output.put_line('y');
else
dbms_output.put_line('n');
end if;
end;
pokud je toto samo ve smyčce, vytvořte seznam jednou jako:
declare
gp varchar2(200) := 'abc,def,NONE,higlmn,op';
gp2 varchar2(200) := ',' || gp || ',';
begin
if g2 like '%,NONE,%' then
dbms_output.put_line('y');
else
dbms_output.put_line('n');
end if;
end;
Zkuste také instr, který je pravděpodobně rychlejší než jako:
declare
gp varchar2(200) := ',abc,def,NONE,hig,';
begin
if instr(gp, ',NONE,') > 0 then
dbms_output.put_line('y');
else
dbms_output.put_line('n');
end if;
end;
Netuším, jestli je to rychlejší než ostatní zmíněná řešení (má to dobrou šanci), je to něco jiného, co zkusit.