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多了一位数就会排到后面去,求大神教我这样该怎么排序 展开
WC2015-0043-8
WC2015-0043-10
WC2015-0044-8
WC2015-0044-9
WC2015-0044-10,
我起初是想把字母和特殊字符截取掉 按照数字来排序,可是后来发现WC2015-0043-10比WC2015-0044-8多了一位数就会排到后面去,求大神教我这样该怎么排序 展开
4个回答
展开全部
用数据段取值方式,进行查询。再用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)
------------------------------------
取值举例:
Declare @S1 varchar(100)
Select @S1='http://www.xrss.cn' \--这里写上表的列名字段即可,不需单引号--\
Select SUBSTRING(@S1,8,3) \--取第8位开始,取3位长度--\
显示结果: www
你可改成:Select SUBSTRING(@S1,8,7)
------------------------------------
展开全部
非要用这个字段来排序么? 在设计表格字段的时候,一般都会定义ID自动增长列的,这样排序就很简单了
追问
没自动增长列,因为他不是查一张表,是查一个表值函数连接一个表
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
截取三次排序 order by [2015 那一组] , [0043 0044 那一组] , [8 9 10 那一组]
更多追问追答
追问
关键是这三段的长度不是都是这样的 中间是也可能有5个数,前面字母也有只有一个字母的,第三段有些有有些没有
追答
只能根据你排序的要求,将每一组 前面(或后面) 加若干个0(或其他字符),然后再截取为固定长度,再去排序
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
更改字段的排序方式
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询