标题:请教SQL中排序的一个小问题
取消只看楼主
小糊涂仙
Rank: 1
等 级:新手上路
帖 子:86
专家分:0
注 册:2007-8-5
 问题点数:0 回复次数:2 
请教SQL中排序的一个小问题
我有一列字符型数据 编号: 11-1,11-3,111-2,111-5,12-1,14-12,14-123,10-1,10-12
我要依据这列数据进行排序,要求先按'-'前的数字升序排,再按'-'后的数字排.

select *from table1
order by left(编号,charindex('-',编号)-1),stuff(编号,1,charindex('-',编号),'')

请问这样排序为什么不行?
为什么必须要把 left(编号,charindex('-',编号)-1),stuff(编号,1,charindex('-',编号),'') 用convert函数转化为int型呢?
搜索更多相关主题的帖子: SQL 
2007-08-07 17:10
小糊涂仙
Rank: 1
等 级:新手上路
帖 子:86
专家分:0
注 册:2007-8-5
得分:0 
我知道如果把截取出来的编号最为一列的话,按照列名也可以实现排序.呵呵,按照楼上的说法似乎有点复杂了,还不如转化了呢~
我想知道的是为什么截取出的字符串不另编为一列就不能作为排序依据呢

谁能改变,人生的长度 我们都在不断赶路,忘记了出路 去不到终点,回到原点 享受,那走不完的路
2007-08-07 19:25
小糊涂仙
Rank: 1
等 级:新手上路
帖 子:86
专家分:0
注 册:2007-8-5
得分:0 

我明白了 谢谢楼上

谁能改变,人生的长度 我们都在不断赶路,忘记了出路 去不到终点,回到原点 享受,那走不完的路
2007-08-07 21:08



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-161005-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.280221 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved