क्या MyGroup एक वैरायटी है? अगर यह एक स्ट्रिंग है तो कुछ इस तरह का प्रयास करें:
select 1
from dual
where 'abc,NONE,def' like '%,NONE,%'
आप जिन बाधाओं के तहत काम कर रहे हैं उनका पालन करना कठिन है ... यदि संभव हो तो, एसक्यूएल के अंदर सब कुछ करें और यह तेज़ हो जाएगा।
अपडेट करें:
इसलिए यदि आप पहले से ही एक 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;
इंस्ट्र भी कोशिश करें जो शायद इस तरह से तेज है:
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;
मुझे नहीं पता कि यह उल्लेख किए गए अन्य समाधानों की तुलना में तेज़ है (यह एक अच्छा मौका है), यह कोशिश करने के लिए कुछ और है।