大虾们:
我有一个字段,是字符型的,其实既有阿拉伯数字,也有英文字符,我想请问一下,如何在一个SQL中只将英文字符的内容筛选出来。谢谢!

解决方案 »

  1.   

    select regexp_replace(a,'[0-9]*') from(
      select '123' a from dual
      union all select '12a' from dual
      union all select 'a3c ' from dual
      union all select 'abc' from dual)
      

  2.   

    用正则表达式。。select col from tb where regexp_like(col,'[[:alpha:]]');
      

  3.   


    10g可以支持regex。9i可以试试用translate
    select replace(translate(a,'0123456789', '#'), '#', '') from( 
      select '123' a from dual 
      union all select '12a' from dual 
      union all select 'a3c ' from dual 
      union all select 'abc' from dual)不过规则复杂的就不行了。