小编典典

SQL-使用字母数字字符排序

sql

我有下表:

create table #tbl
(
 product_id nvarchar(50)
)

insert into #tbl values ('011014-A11')
insert into #tbl values ('011014-A10')
insert into #tbl values ('011014')
insert into #tbl values ('011014-A1')
insert into #tbl values ('011014-A2')

我要订购这样的产品ID(从最小到最大):

011014
011014-A1
011014-A2
011014-A10
011014-A11

这是我尝试过的方法,但是不起作用:

select product_id
from #tbl
order by product_id desc

我该怎么做呢?

以及如何获得最大的product_id?我试过了,但是没有用:

select top 1 product_id
from #tbl
order by product_id desc

阅读 263

收藏
2021-04-07

共1个答案

小编典典

尝试执行以下查询以按预期顺序获取结果。

小提琴演示

Select product_id
From tbl              --Please change table name to #tbl in your actual query
Order by len(product_id), product_id
2021-04-07