id 字段1
1   方
2   陈
3   王
4   孙
5   李我想把“陈”排在前面,如何?

解决方案 »

  1.   

    CREATE TABLE test (id NUMBER, name VARCHAR2(10))INSERT INTO test(id,name) VALUES(1,'方')INSERT INTO test(id,name) VALUES(2,'陈')INSERT INTO test(id,name) VALUES(3,'王')INSERT INTO test(id,name) VALUES(4,'孙')INSERT INTO test(id,name) VALUES(5,'李')INSERT INTO test(id,name) VALUES(5,'爱')SELECT CASE name 
        WHEN 'a陈' THEN
          '陈'
       ELSE
      name
       END AS name 
    FROM (
    SELECT CASE name
           WHEN '陈' THEN
          'a'||name
       ELSE
      name
       END AS name 
    FROM test ORDER BY name)
      

  2.   

    默认的就是拼音排序啊?select name from test
    order by nlssort(name,'NLS_SORT=SCHINESE_PINYIN_M'); 
      

  3.   

    create table myname(name varchar2(20));
    INSERT INTO test(id,name) VALUES('方');
    INSERT INTO test(id,name) VALUES('陈');
    INSERT INTO test(id,name) VALUES('孙');
    INSERT INTO test(id,name) VALUES('李');
    select * from test order by 'name';
    这样就会按照字母排序