好象没有办法 :)nls_sort也没有用
这个只跟汉字的编码方式有关

解决方案 »

  1.   

    SQL Server是按照拼音顺序排汉字的,
    Oracle可怎么办?
    郁闷......
    哪位高手来看看啊,帮助解决解决啊!!!!!
      

  2.   

    select id,name from pepole order by name;
    oracle对汉字就是按其拼音排序的,你可以试。
    我有个员工信息的表,按照上述方法排序没有问题(oracle8.1.7)
      

  3.   

    jiezhi您好!
    我的结果和您的好像不一样:
    我在Oracle中比较"张" 和 "麟"的大小,结果"张" 比"麟"来的小。(张Z,麟L)
    但在SQL Server中,"张" 比"麟"大。
      

  4.   

    那你加个desc
    order by name desc
      

  5.   

    写个函数f():返回拼音order by f(....)
      

  6.   

    学习请问: jlandzpa(jlandzpa) 怎样写呢?
      

  7.   

    好了,谢谢!
    今天到此为止!
    做别的事情去了。
    Thanks a lot!
      

  8.   

    decode函数?愿闻其祥!除了做字典表,在表中增加一个字段,在insert找出该中文字的拼音插入
    取数据的时候利用拼音来排序
    我没有想到更好的方法请多指教  :)
      

  9.   

    不论做字典表还是insert中文拼音,对于一个已经存在大量数据的数据库来说,
    要输入的数据量极大,困难。
    我们想出的的方法供大家参考,我们在后台将数据库倒入另一个数据库再做查询和检索,虽然浪费了时间和空间,还是可行的。希望大家将Oracle中文排序查找这个问题讨论讨论,争取在Oracle中能够更好的解决。
      

  10.   

    做一个对照表
    然后把已经存在的数据加一个拼音列
    然后update应该问题不大
      

  11.   


    alter session set nls_sort=schinese_pinyin_m;
    然后
    执行Select语句
      

  12.   

    ??? 我以前这样做测试是没有成功的,好几种字符集都设置过 (nls_sort)已用时间:  00: 00: 00.15
    SQL> select * from a order by a;A
    ----------

    麟已用时间:  00: 00: 00.15
    SQL> alter session set nls_sort=schinese_pinyin_m;
    ERROR:
    ORA-12705: 指定了无效或未知的 NLS 参数值
    已用时间:  00: 00: 00.47
    SQL> alter session set nls_sort='schinese_pinyin_m';
    ERROR:
    ORA-12705: 指定了无效或未知的 NLS 参数值
    已用时间:  00: 00: 00.16
    SQL>
      

  13.   

    DB:Oracle 9i
    OS:WinXp or Win2000 SP2
    均可以设置成功。
    不知你的配置如何?
      

  14.   

    SQL> select * from v$version;BANNER
    ----------------------------------------------------------------
    Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
    PL/SQL Release 9.2.0.1.0 - Production
    CORE    9.2.0.1.0       Production
    TNS for 32-bit Windows: Version 9.2.0.1.0 - Production
    NLSRTL Version 9.2.0.1.0 - Production这个版本中测试通过,但817中不通过!