首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何对文本数据类型进行排序

如何对文本数据类型进行排序
EN

Stack Overflow用户
提问于 2019-02-23 23:49:57
回答 1查看 63关注 0票数 3

我有一张桌子如下所示:

代码语言:javascript
复制
ID  | text_field
----| ----------
 1  | ABC-432
 2  | ABC-1
 3  | ABC-10
 4  | ABC-5

我想根据text_field数字部分得到前两名结果的列表

根据上述数据,查询输出如下:

代码语言:javascript
复制
ID  | text_field
----| ----------
 1  | ABC-432
 3  | ABC-10

因为43210是这个数据集中两个最高的数字。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-24 00:05:10

您可以利用substring()的灵活性,它支持正则表达式。

代码语言:javascript
复制
SELECT *
FROM t
ORDER BY substring(val, '\d+$')::integer DESC
LIMIT 2

Regexp '\d+$'的意思是:字符串末尾的所有数字。您需要将其转换为整数,以便执行数字排序。

DB Fiddle演示

代码语言:javascript
复制
| val     |
| ------- |
| ABC-432 |
| ABC-10  |
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54847403

复制
相关文章

相似问题

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