字符串型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 怎么对带单位字符串排序
681浏览 • 1回复 待解决
mysql order对数字型字符串排序
597浏览 • 1回复 待解决
如何实现字符串编解码
233浏览 • 1回复 待解决
如何生成UUID的字符串
239浏览 • 1回复 待解决
ArkTS如何实现字符串编解码
386浏览 • 1回复 待解决
如何实现ArkUI组件字符串变量拼接
340浏览 • 1回复 待解决
关于字符串的分割和重组处理
1947浏览 • 1回复 待解决
Web如何使用loadData加载复杂Html字符串
312浏览 • 1回复 待解决
如何加载字符串形式H5数据
223浏览 • 1回复 待解决
如何对字符串进行MD5哈希处理
288浏览 • 1回复 待解决
mysql替换字符串的问题有知道的吗?
1500浏览 • 1回复 待解决
eTS中如何进行时间与字符串转换?
1907浏览 • 1回复 待解决
base64字符串如何转为图片并保存
302浏览 • 1回复 待解决