首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有一种方法可以像字符串一样用前导零对数字进行排序,或者像数字一样?

有没有一种方法可以像字符串一样用前导零对数字进行排序,或者像数字一样?
EN

Stack Overflow用户
提问于 2022-05-05 07:34:03
回答 1查看 170关注 0票数 0

我在postgres 14.1数据库中为自然排序字符串(provider = icu,locale =‘’)提供了一个排序规则。NodeJS v12.16.1.当字符串有像1211 22这样的非零前导数时,排序对我来说是很好的。如果数字以零开头,我得到正确的顺序是以数字000、00、0、001、01、1、002、02、2为限,但在这种情况下,我希望得到像000、001、002、00、01、02、0、1、2这样的顺序。是否有任何方法可以使用区域设置或其他方式来获得这种行为。最主要的是,它应该工作得快( 2-3秒),大约一百万条记录。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-05-05 10:10:56

您可以按前导零的数字排序,然后按数值排序:

代码语言:javascript
复制
ORDER BY
   length(col)
      - length(trim(LEADING '0' FROM col))
      DESC,
   col COLLATE natural_coll
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72123497

复制
相关文章

相似问题

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