表Person中的UserID定义成了Varchar型, 实际上里面存的值是数字的, 如下:CREATE TABLE PERSON
(
UserID VARCHAR(10),
UserName VARCHAR(330)
)UserID UserName
8 xiaox
9 zhaa
10 wwee现在想按UserID排序查出数据:
Select UserID from PERSON order by UserID;但出来的结果是: 10,8, 9; 在不改字UserID 类型的情况下, 怎样让结果按数据大小排序? 即结果要这样顺序的: 8, 9 ,10.
(
UserID VARCHAR(10),
UserName VARCHAR(330)
)UserID UserName
8 xiaox
9 zhaa
10 wwee现在想按UserID排序查出数据:
Select UserID from PERSON order by UserID;但出来的结果是: 10,8, 9; 在不改字UserID 类型的情况下, 怎样让结果按数据大小排序? 即结果要这样顺序的: 8, 9 ,10.
解决方案 »
- 如何使用一条SQL语句完成这项工作?
- 关于全文检索的问题
- 高手帮忙急,向一个表中插入多条记录(仅插一个字段),记录中的字段由另一个表提供,两表没有关系!
- 如何生成时间结果集
- 请问 select * into b from a where 1<>1 这句话中的 1<>1是什么意思?
- 求助高手,行列转换的疑难问题?
- 半夜百分求助:未能为远程服务器设置参数
- 如何用最简单的方法横向求平均 比如表 ID 数学 英语 化学 几何 平均成绩 注意里面有个ID字段不能包含在内把结果填入平均成绩字段内
- 怎么解决触发器在批量插入数据时失效?
- 数据库删除问题,特急!!在线等待
- 两张表连接问题
- 手动在数据库里添加数据不行 出现以下情况。
(
UserID VARCHAR(10),
UserName VARCHAR(10)
)insert into tb values(8 , 'xiaox')
insert into tb values(9 , 'zhaa')
insert into tb values(10, 'wwee')
goselect * from tb order by cast(userid as int)drop table tb/*
UserID UserName
---------- ----------
8 xiaox
9 zhaa
10 wwee(所影响的行数为 3 行)*/
(
UserID VARCHAR(10),
UserName VARCHAR(10)
)insert into PERSON values(8 , 'xiaox')
insert into PERSON values(9 , 'zhaa')
insert into PERSON values(10, 'wwee')
goselect * from PERSON order by cast(userid as int)drop table PERSON
Select UserID from PERSON order by cast(UserID as int) asc;