带有REGEXP的PL SQL匹配列表中的所有项目

时间:2016-06-09 09:57:18

标签: plsql

我可以测试一个REGEXP表达式是否匹配值列表中的所有值? 我想要这样的东西:

 where  REGEXP_LIKE(data, ANY(input1,input2))

我该怎么做? 我想测试一个REGEXP表达式是否匹配值列表中的任何值,如:

data = 22251455 , 22247821 , 22958812

input1 = REGEXP("AAA")

input2 = REGEXP("ABB")

where  REGEXP_LIKE(data, ALL(input1,input2))

示例:

 where  REGEXP_LIKE(data, ANY(input1,input2))

将仅返回22251455,因为它包含像AAA这样的222和像ABB这样的455, 而

 <ul class="nav navbar-nav">
        <li><a  href="#">Startseite</a></li>
        <li class="dropdown">
          <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Unser Verein <span class="caret"></span></a>
          <ul class="dropdown-menu navbar-nav">
            <li><a href="#">Vorstand</a></li>
			<li><a href="#">Mitglieder</a></li>
            <li><a href="#">Über uns</a></li>
			<li><a href="#">Unsere Kita</a></li>           
            <li><a href="#">Satzung</a></li>
			<li><a href="#">Förderverein, warum?</a></li>
          </ul>		  

将返回22251455,22247821,22958812

1 个答案:

答案 0 :(得分:0)

对于“ANY”,您可以通过以下查询尝试。 下面是我有表emp的示例,其中包含以下数据。

 empno  empname
    110 raag
    111 radd
    102 sam
    104 leo
    105 ram
    102 sam
    103 mam

查询: -

select * from emp where regexp_like(lower(ename), '^(radd|leo|sam)');

out put: -

empno empname
111 radd
102 sam
104 leo
102 sam