oracle数据库单表查询并且按照主键ID排序

select id,name,ename,desc1 from ib_sql order by id 无法实现排序。
数据举例:
id name ename desc1
1 小强 aaa
3 小刚 bbb 说明
2 小明 ccc 啊
5 小求 rrr 额
4 小亮 uuu
按照 id 为1.2.3.4.5的顺序排序
4个字段的数据类型全都是var
大家有办法么

id用1,2,3,4,5.....纯数字的,你怎么会把它定义为varchar类型?
解决步骤:
(1)新建一个表A,表结构和ib_sql 一样,但把id定义为NUMBER类型。
(2)把ib_sql 中的所有数据插入到A中:INSERT INTO A SELECT * FROM ib_sql ;
(3)DROP TABLE ib_sql;
(4)把表A改名为ib_sql: ALTER TABLE A RENAME TO ib_sql;
(5)再执行你上面的语句就可以实现排序
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-12-26
如果是oracle应该没问题的,如果实在不行就order by number(id) asc 以数字型的排序肯定行。
第2个回答  推荐于2017-10-12
排序的话,可以通过order by 来实现。
sql:select * from tablename order by ID;
备注:默认的是升序(ASC),也可以让其降序(desc)进行排列。
sql:select * from tablename order by ID desc;
第3个回答  2012-12-26
select id,name,ename,desc1 from ib_sql order by to_number(id );

转为数字再排序本回答被提问者采纳
第4个回答  2012-12-26
var类型的不能排序,用int
相似回答