Sim*_*mon 3 sql postgresql select sql-order-by
在我的数据库中,我列填充了这些数据:
1
1.1
1.1.1
1.1.1.1
1.1.2
1.10
1.11
1.2
1.9
Run Code Online (Sandbox Code Playgroud)
我想对它进行排序,得到的结果如下:
1
1.1
1.1.1
1.1.1.1
1.1.2
1.2
1.9
1.10
1.11
Run Code Online (Sandbox Code Playgroud)
我怎么能做到这一点?简单使用"ORDER BY"会产生错误的结果,因为它是字典顺序.
您可以将字符串拆分为数组,将其转换为int[]依赖Postgres对数组的自然顺序:
SELECT mycolumn
FROM mytable
ORDER BY STRING_TO_ARRAY(mycolumn, '.')::int[] ASC
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1040 次 |
| 最近记录: |