0

我有一个输入字符串“xyz”,可以大写或小写。

在此,我必须与字符串“test|xyz|test1|xyz1”进行比较。如果找到,我必须返回'Y'。是否有任何内置函数或正则表达式可用于在 oracle 中执行此检查。

4

1 回答 1

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
于 2013-09-11T11:33:22.673 回答