您好,欢迎来到华佗小知识。
搜索
您的当前位置:首页SQLSERVER字符串按数字排序

SQLSERVER字符串按数字排序

来源:华佗小知识
SQLSERVER字符串按数字排序

需求是这样的:

数据库表⾥⾯有⼀个字段类型是nvachar,存的值是数字和字符混合的,要实现先按数字排序,再按字母倒序。思路:

考虑这个字段的值是否是有规律可循的,把要按数字排序的部分转换为数字,再把剩下的字符排序。数据表是下⾯这样的:

LevelName就是那个数字和字母混合的字段。

我这个表⾥存的LevelName都是数字+单个字符的格式。于是可以把前⾯的部分转换为数字,按数字排,剩下的部分按字母排。语句这样写:

SELECT * FROM dbo.Level

ORDER BY CONVERT(INT, LEFT(LevelName, LEN(LevelName)-1)) ASC, RIGHT(LevelName, 1) DESC

查询结果:

PS:4B ⽐ 4A ⼩。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo0.cn 版权所有 湘ICP备2023017654号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务