我有一个输入字符串“xyz”,可以大写或小写。
在此,我必须与字符串“test|xyz|test1|xyz1”进行比较。如果找到,我必须返回'Y'。是否有任何内置函数或正则表达式可用于在 oracle 中执行此检查。
Select 'Y' from dual where regexp_like('test|xyz|test1|xyz1','xyz','i');
它将仅返回匹配值的结果。如果您想要 'n' 表示不匹配的值,请尝试正则表达式 instring。
或者您可以简单地在两侧使用 lower() 函数并检查 instring。
select case when
regexp_instr('test|xyz|test1|xyz1','XYz',1,1,1,'i') > 0 then 'y'
else 'n' end col1
from dual