oracle regexp_substr来获取字符串

时间:2014-06-27 07:31:47

标签: sql regex oracle plsql

我有像

这样的SQL查询
  

选择count(distinct empno),count(distinct(deptno empname empid))来自emp

我想获取第一次出现的count及其内容,如:

  

count(distinct empno)

我已尝试过以下sql语句,但它无效,

  

SQL>选择regexp_substr('select count(distinct empno),   count(distinct(deptno))来自emp','count *( distinct。)')   来自双重;

     

REGEXP_SUBSTR('SELECTCOUNT(DISTINCTEMPNO),COUN   ---------------------------------------------- count(distinct empno ),count(distinct(deptno))

我希望输出返回如下:

  
    

REGEXP_SUBSTR('SELECTCOUNT(DISTINCTEMPNO)

         

count(distinct empno),

  

正则表达式不应与第二个结束括号匹配,它应与第一个右括号匹配。

1 个答案:

答案 0 :(得分:0)

你的正则表达式中的

*所有东西,你需要使正则表达式引擎匹配最短的可能性。

count *\([^\)]\)(?=,)