表中一个字段内容如下:
方1
方2
朝3
五仁12其内容是汉字开头(几个汉字不一定),后便跟着数字,我想查不重复的汉字开头。如上边的查询结果为


五仁不知道SQL语句可以查出不,或者还需要单独编写一个函数?

解决方案 »

  1.   


    --10g以上使用正则表达式
    SQL> with t as(
      2       select '方1' name from dual union all
      3       select '方2' from dual union all
      4       select '朝3' from dual union all
      5       select '五仁12' from dual)
      6  select distinct regexp_replace(name,'[0-9]','') from t
      7  /
     
    REGEXP_REPLACE(NAME,'[0-9]',''
    --------------------------------------------------------------------------------


    五仁
      

  2.   

    --这个通用
    with tab as (
      select '方1'    name from dual union all
      select '方2'    name from dual union all
      select '朝3'    name from dual union all
      select '五仁12' name from dual)
     
    select translate(name,'\\0123456789','\\') from tab;