表字段值如下:
你好
安装
是的
ni hao
an zhuang
shi de要得到排序后结果为:
an zhuang
安装
ni hao
你好
shi de
是的-------------------------------
就是如果是中文汉字,取第一个字母去排序?

解决方案 »

  1.   

    你的排序有什么规律能让oracle理解的地方。。不要说是中文拼音,oracle不知道中文拼音
      

  2.   

    with t as
    (select 'ni hao' a from dual union all
     select '无人' a from dual union all
     select 'wu ren' a from dual union all
     select '你好' a from dual union all
     select '声明' a from dual union all
     select 'shengming' a from dual ) select a from t 
     order by  nlssort(translate(lower(a),'abcdefghjklmnopqrstwxyz','啊八嚓大哦发噶哈几卡拉吗呐哦扒七然仨他哇西呀杂'),'NLS_SORT=SCHINESE_PINYIN_M')