在Postgresql中使用Order by对IP地址进行排序?

6

我希望能对IP地址列表进行排序。

Postgresql中是否有类似于MySql中的INET_ATON函数可与order by一起使用?

我的当前IP是字符串格式。

2个回答

12

你可以使用以下类似的方式对IP地址列 IP_Address 进行排序:

SELECT * FROM MyTable ORDER BY inet(IP_Address)
请参见文档进行进一步了解。 编辑: 实际上,这不是一个函数,而是将IP地址转换为PostgreSQL集成类型的类型转换。

0

我曾经在一个表中使用整数存储IPv4地址,而且成功地使用了'0.0.0.0'::inet + num技巧。

因此,在表interface中,如果devaddr是一列,我会这样做:

select  distinct ('0.0.0.0'::inet + devaddr) as addr from interface order by addr;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接