日期:2014-05-17  浏览次数:20792 次

求一个oracle正则表达式


  能将相邻的两个逗号(,,) 替换称后面括号所示的格式(,NULL,),即在相邻的逗号间加一个NULL

  ----------------------------------------
  举例:
  
   ,,      替换为  ,NULL,
   ,,,     替换为  ,NULL,NULL,
   ,,,,    替换为  ,NULL,NULL,,NULL

   依此类推 
   
    需要用REGEXP_REPLACE 来实现




  

------解决方案--------------------
select rtrim(replace(',,,,',',',',null'),'null') from dual
------解决方案--------------------
select replace(column,',',',null') from dual;
------解决方案--------------------
虽然不知道怎么写,但是前两个答案不对哦,楼主要求用REGEXP_REPLACE 来实现
------解决方案--------------------
select regexp_replace(num,',,',',null,') 
  from ( select  regexp_replace(mc,',,',',null,') num from test)
两次替换,,为'null'