postgresql - 按字符列数字排序

标签 postgresql sorting sql-order-by

如何对字符列进行数字排序。 我有一列数字存储为字符。当我为此列执行 ORDER BY 时,我得到以下信息:

100D
131A
200
21B
30
31000A
etc.

最后可能会有一个字母表。 如何以数字方式对这些字符进行排序?我是否需要转换某些东西,或者是否已经有用于此的 SQL 命令或函数?

最佳答案

你可以使用类似的东西:

ORDER BY Cast(regexp_replace(yourcolumn, '[^0-9]', '', 'g') as integer)

关于postgresql - 按字符列数字排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8587640/

相关文章:

javascript - 使用日期字符串对表进行排序

linq - 如何根据子集合属性对集合进行排序

php - 复杂的 CakePHP 数据返回和组合

java - Spring表单将空模型对象发送到数据库

python - 查找系列中值的百分比变化

mysql - "Repeatable read"与乐观

python - python 中合并排序的索引超出范围

mysql - 在指定了 ORDER BY 和 LIMIT 并且实际上只需要连接少量行的 JOIN 情况下,MySQL 的行为如何?

SQL按两列的最大值排序

sql - 如果日期不与现有日期重叠,则将日期范围更新到日期列中