首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

oralce排序有关问题

2011-12-18 
oralce排序问题id字段11方2陈3王4孙5李我想把“陈”排在前面,如何?[解决办法]CREATE TABLE test (id NUMBER,

oralce排序问题
id   字段1
1       方
2       陈
3       王
4       孙
5       李

我想把“陈”排在前面,如何?

[解决办法]
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)
[解决办法]
默认的就是拼音排序啊?

select name from test
order by nlssort(name, 'NLS_SORT=SCHINESE_PINYIN_M ');


[解决办法]
拼音排序的
[解决办法]
我来总结下:
1楼的方法可以把任意你想要的排在前面

如果只是你的测试数据的话,直接排序 陈 就是第1个,默认就是拼音排序的

[解决办法]
order by `字段1`;

[解决办法]
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 ';
这样就会按照字母排序

热点排行