字符串型IP地址从小到大排序

数据库有IP一列,我想取出时按从小到大排列,但因为是字符串型,排列结果变成了
x.x.x.1
x.x.x.10
x.x.x.11
x.x.x.2.....
有没有办法让字符串像数字一样从小到大排列?或者取出后在java中有什么办法?

postgresql
sql
java
2022-09-01 12:43:51
浏览
收藏 0
回答 2
待解决
回答 2
按赞同
/
按时间
三联帮柯志华
2

Postgres本来就有IP类型,设计的时候就应该用上作为字段类型

Anyway,既然你提到了这个问题,那就把它转化为IP类型再排序即可

order by cast(ip as inet)

分享
微博
QQ
微信
回复
2022-09-01 15:32:55
pgdba

可以将字符串类型的IP地址​​转换​​成 PostgreSQL 中的 ​​网络地址类型​​,然后就可以从小到大排序了。

为了加快查询性能,可以考虑建立 ​​表达式索引​​,也可以考虑直接用 ​​网络地址类型​​ 存储,并建立普通​​索引​​。


分享
微博
QQ
微信
回复
2023-05-29 10:14:52
相关问题
sql 怎么对带单位字符串排序
2331浏览 • 1回复 待解决
mysql order对数字型字符串排序
2170浏览 • 1回复 待解决
检查字符串是否以给定的字符串开头
535浏览 • 1回复 待解决
检查字符串是否以给定的字符串结尾
422浏览 • 1回复 待解决
HarmonyOS字符串替换问题
870浏览 • 1回复 待解决
HarmonyOS 字符串显示异常
466浏览 • 1回复 待解决
ResourceStr 类型如何转成字符串
261浏览 • 1回复 待解决
关于加密字符串相关问题
211浏览 • 1回复 待解决
HarmonyOS $r 字符串替换问题
914浏览 • 1回复 待解决
字符串重复指定次数
385浏览 • 1回复 待解决
字符串如何转为ArrayBuffer?
686浏览 • 1回复 待解决
HarmonyOS 字符串编码问题
48浏览 • 1回复 待解决
HarmonyOS 替换字符串问题
37浏览 • 1回复 待解决