我把姓名作为关键字自动排序时,大多数姓氏都能按拼音顺序排列,可这几个(佘,滕,嵇,覃,瞿)怎么排到了最后呢?

解决方案 »

  1.   

    吼吼找到解决办法了select t.username
    from com_userlist t
    order by nlssort(username,'NLS_SORT=SCHINESE_PINYIN_M');
      

  2.   

    alter session set nls_sort='schinese_pinyin_m';select * from dept order by nlssort(name,'NLS_SORT=SCHINESE_PINYIN_M');Oracle9i之前,中文是按照二进制编码进行排序的。
    在oracle9i中新增了按照拼音、部首、笔画排序功能。设置NLS_SORT值
    SCHINESE_RADICAL_M 按照部首(第一顺序)、笔划(第二顺序)排序
    SCHINESE_STROKE_M 按照笔划(第一顺序)、部首(第二顺序)排序
    SCHINESE_PINYIN_M 按照拼音排序,系统的默认排序方式为拼音排序举例如下:
    表名为 dept ,其中name字段是中文,下面分别实现按照单位名称的笔划、部首和拼音排序。
    1: //按照笔划排序
    2: select * from dept order by nlssort(name,'NLS_SORT=SCHINESE_STROKE_M');
    3: //按照部首排序
    4: select * from dept order by nlssort(name,'NLS_SORT=SCHINESE_RADICAL_M');
    5: //按照拼音排序,此为系统的默认排序方式
    6: select * from dept order by nlssort(name,'NLS_SORT=SCHINESE_PINYIN_M');  
      

  3.   

    怎么编译老通不过啊,我用的paradox数据库     query1.Close;
        query1.SQL.Clear;
        query1.SQL.add('select * from tb');
        query1.SQL.add('order by nlssort(name,'NLS_SORT=SCHINESE_PINYIN_M')');
        query1.ExecSQL;错误提示:[Error] Unit4.pas(1505): ')' expected but identifier 'NLS_SORT' found
      

  4.   

    偶的是oracle啊偶不用其他数据库的建议你找一下和你有关的哦