sql排序

lang11zi 2006-02-22 08:44:56
我也问一个排序问题
table1
col1 col2
1 10
2 7
3 8
4 6
5 长10

col2是varchar类型
如何使col2中数字的可以正常排序啊?
...全文
89 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
lang11zi 2006-02-22
  • 打赏
  • 举报
回复
已经解决感谢各位!

select col1,col2
from table1
order by isnumeric(col2) desc,case when isnumeric(col2)=1 then convert(money,col2) end
支持小数了
xxuu503 2006-02-22
  • 打赏
  • 举报
回复
直接orderby即可
会按ascii码排序的
lang11zi 2006-02-22
  • 打赏
  • 举报
回复
楼上所说 肯定不行地
leo963258 2006-02-22
  • 打赏
  • 举报
回复
col2 如果全是数字的话,可以这样
select * from table1 order by cint(col2)
moodboy1982 2006-02-22
  • 打赏
  • 举报
回复
boyd1985(http://www.ahbvc.cn:8080):如果用int型,那肯定会出错的。
varchar型数据排列就是这样的呀。11排在9的前面,却排在10的后面。
你另选字段排序吧。
竹林听雨2005 2006-02-22
  • 打赏
  • 举报
回复
汗,突然发现楼主是一星的,是不是班门弄斧了?
竹林听雨2005 2006-02-22
  • 打赏
  • 举报
回复
强烈建议将数据类型改掉,如果是varchar型的,那正确排序的可能不是很大,会出现10出现在2的前面(或后面)。建议类型:int
lishery 2006-02-22
  • 打赏
  • 举报
回复
呵呵,学习
danis_cn 2006-02-22
  • 打赏
  • 举报
回复
关注

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧