我有一个输入字符串“xyz”,无论是大写还是小写。
在这里,我必须与字符串“test | xyz | test1 | xyz1”进行比较。如果发现,我必须返回'Y'。 是否有任何内置函数或正则表达式可用于在oracle中执行此检查。
答案 0 :(得分:1)
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