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

Oracle字符串替换 替换以M开头的所有字符为空
求一个正则 用的REGEXP_REPLACE 函数
现在我要替换以M开头的所有字符为空 

我怎么写都不对
求解!!!

------解决方案--------------------
  select regexp_replace('MABC','^M(.)*','') from dual

------解决方案--------------------
引用:
求一个正则 用的REGEXP_REPLACE 函数
现在我要替换以M开头的所有字符为空 

我怎么写都不对
求解!!!


WITH T AS (
   SELECT 'M234234324' AS M FROM DUAL UNION ALL
   SELECT '123214214' FROM DUAL UNION ALL
   SELECT '324234MSDFDSF' FROM DUAL
)
SELECT * FROM T WHERE REGEXP_LIKE(M,'^M');
------解决方案--------------------
引用:
求一个正则 用的REGEXP_REPLACE 函数
现在我要替换以M开头的所有字符为空 

我怎么写都不对
求解!!!


WITH T AS (
   SELECT 'M234234324' AS M FROM DUAL UNION ALL
   SELECT '123214214' FROM DUAL UNION ALL
   SELECT '324234MSDFDSF' FROM DUAL
)
---^符号表示一个正则表达式的开始,下面正则意思是以M为开头的
--如果^符号出现在[]里面第一个的话,则代表"非"
SELECT * FROM T WHERE REGEXP_LIKE(M,'^M');

M
M234234324