使用oracle中的正则表达式将字符串与其他字符串进行比较

时间:2013-09-11 11:27:14

标签: sql oracle

我有一个输入字符串“xyz”,无论是大写还是小写。

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

1 个答案:

答案 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