首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL -如何使用数字对字符串进行排序?

SQL -如何使用数字对字符串进行排序?
EN

Stack Overflow用户
提问于 2015-01-12 12:44:13
回答 8查看 370关注 0票数 0

客户ID如下:

代码语言:javascript
复制
AMT-2
AMT-100
AMT-1
AMT-50
AMT-10

因此,我想按如下方式订购客户ID:

代码语言:javascript
复制
AMT-1
AMT-2
AMT-10
AMT-50
AMT-100

怎么办?请帮帮我。

EN

回答 8

Stack Overflow用户

发布于 2015-01-12 13:03:20

这可能会对你有帮助

代码语言:javascript
复制
SELECT *
        FROM Customer
        ORDER BY Cast(SUBSTRING(CustomerID, 5, Len(CustomerID)) As Numeric(5,0));
票数 2
EN

Stack Overflow用户

发布于 2015-01-12 13:03:02

如果你知道前缀总是相同的长度,你可以这样做:

代码语言:javascript
复制
order by len(customerid), customerid
票数 1
EN

Stack Overflow用户

发布于 2015-01-12 13:01:15

使用RIGHT函数从字符串中删除AMT -部分,然后将其余部分转换为整数,并根据该结果对结果进行排序。

查询

代码语言:javascript
复制
SELECT *
FROM customerId
ORDER BY CONVERT(INT,RIGHT(id,LEN(id)-5));
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27895425

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档