myGroup варрей ли е? Ако е низ, опитайте нещо като:
select 1
from dual
where 'abc,NONE,def' like '%,NONE,%'
Трудно е да следвате ограниченията, при които работите... Ако изобщо е възможно, правете всичко вътре в sql и ще бъде по-бързо.
Актуализация:
Така че, ако вече сте в единица plsql и искате да останете в единица plsql, тогава логиката по-горе ще бъде нещо подобно:
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;
ако това само по себе си е в цикъл, направете списъка веднъж като:
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;
Също така опитайте instr, който вероятно е по-бърз от като:
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;
Нямам представа дали това е по-бързо от другите споменати решения (има добър шанс), трябва да опитате нещо друго.