当前位置: 首页 > 面试题库 >

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

公西永嘉
2023-03-14
问题内容

我有下表:

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

问题答案:

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

小提琴演示

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


 类似资料:
  • 问题内容: 我在排序包含整数的字符串时遇到问题。如果使用下面的代码,我将进行排序:1some,2some,20some,21some,3some,一些 但是我希望将其排序为:1some,2some,3some,20some,21some,一些 我怎样才能做到这一点? 谢谢! 问题答案: 这是有关如何执行此操作的独立示例(未特别优化): 输出量 说明 该示例使用一个常数来推断数字是否位于的起始位置。

  • 我正在尝试验证一些输入以删除一组字符。只允许字母数字字符加、句点、下划线、连字符。我在这里测试了正则表达式http://gskinner.com/RegExr/它与我想要删除的内容匹配,所以我不确定为什么返回相反的内容。我错过了什么? 我的最终目标是输入并获得"。 我尝试过: 返回

  • 问题内容: 我只需要从中提取数值。如何从Android中的字母数字字符串中提取数字? 问题答案: 更新:

  • 按字母顺序排序字符串中的字符。 使用扩展运算符(...),Array.sort() 和 String.localeCompare() 对 str 中的字符进行排序,使用 String.join('') 重新组合。 const sortCharactersInString = str => [...str] .sort((a, b) => a.localeCompare(b))

  • 问题内容: 任何人都可以通过正则表达式来帮助我。我想将以下字符串拆分为字母和数字。 分割后的示例字符串应为 和。 我尝试了以下正则表达式。 大写返回 但对于小写字母则返回 有没有办法得到像 问题答案: 您可以使用: 正则演示

  • 问题内容: 我想按下面显示的顺序对它们进行排序(数字1-12): 但是,我的查询-使用按其他所有字母开头的数字排序: 有什么技巧可以使其更正确地排序吗? 此外,为了充分公开,这可以是字母和数字的混合(尽管现在不是),例如: 等等.... 谢谢! 更新:人们要求查询 问题答案: 人们使用不同的技巧来做到这一点。我搜索了一下,发现每个结果都遵循不同的技巧。看看他们: MySQL中的字母数字排序 MyS