请教大家test表里有字段name
内容如下:
---------------
 aaa
 M aaaaa
 T aaaaaa
 .....
 我想取出行数据里只含a的数据,什么M、T等和空格都不要,结果如下:
 ---
 aaa
 aaaaa
 aaaaaa
 
 .....
 
 如何写sql?

解决方案 »

  1.   

    可以用REPLACE函数
    select * from test where length(REPLACE(name,'a',''))=0
      

  2.   

    select substr(aaa,instr(aaa,'a',1,1),instr(aaa,'a',1,length(aaa))-instr(aaa,'a',1,1)) from test
      

  3.   

    select * from test 
    where name like '%a%' and replace(name,'a','') is null;
      

  4.   

    用Replace和Length函数就可以了。10G的话,可以用正则表达式函数REGEXP_LIKE。
      

  5.   

    楼主用的是哪个版本的ORACLE啊,如果是10G或11G的话,都可以用以下的SQL语句:select * from test where regexp_like(name,'^a*$')