SQL 字母数字排序问题 30

WC2015-0043-9WC2015-0043-8WC2015-0043-10WC2015-0044-8WC2015-0044-9WC2015-0044-10,我起初是... WC2015-0043-9
WC2015-0043-8
WC2015-0043-10
WC2015-0044-8
WC2015-0044-9
WC2015-0044-10,
我起初是想把字母和特殊字符截取掉 按照数字来排序,可是后来发现WC2015-0043-10比WC2015-0044-8多了一位数就会排到后面去,求大神教我这样该怎么排序
展开
 我来答
morliz子轩
2015-11-27 · TA获得超过1.1万个赞
知道大有可为答主
回答量:1.1万
采纳率:56%
帮助的人:2787万
展开全部
用数据段取值方式,进行查询。再用ORDERY BY排序即可。

取值举例:
Declare @S1 varchar(100)
Select @S1='http://www.xrss.cn' \--这里写上表的列名字段即可,不需单引号--\
Select SUBSTRING(@S1,8,3) \--取第8位开始,取3位长度--\
显示结果: www

你可改成:Select SUBSTRING(@S1,8,7)
------------------------------------
pzzc189240d
2015-11-27 · TA获得超过201个赞
知道小有建树答主
回答量:310
采纳率:0%
帮助的人:185万
展开全部
非要用这个字段来排序么? 在设计表格字段的时候,一般都会定义ID自动增长列的,这样排序就很简单了
追问
没自动增长列,因为他不是查一张表,是查一个表值函数连接一个表
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Lyh_008
2015-11-27 · TA获得超过115个赞
知道小有建树答主
回答量:233
采纳率:0%
帮助的人:148万
展开全部
截取三次排序 order by [2015 那一组] , [0043 0044 那一组] , [8 9 10 那一组]
更多追问追答
追问
关键是这三段的长度不是都是这样的 中间是也可能有5个数,前面字母也有只有一个字母的,第三段有些有有些没有
追答
只能根据你排序的要求,将每一组  前面(或后面) 加若干个0(或其他字符),然后再截取为固定长度,再去排序
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
田坤
2015-11-27 · TA获得超过118个赞
知道小有建树答主
回答量:322
采纳率:0%
帮助的人:123万
展开全部
更改字段的排序方式
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式