将int转换为IP地址

时间:2010-05-21 23:15:36

标签: postgresql

在PostgreSQL中有一种简单的方法将int转换为IP地址吗?我可以使用以下代码从IP转到int:

SELECT inet '1.2.3.4'-'0.0.0.0'

这不起作用:

SELECT 16909060::inet

我在文档中没有看到任何内容。有谁知道怎么做?

2 个答案:

答案 0 :(得分:12)

SELECT '0.0.0.0'::inet + 16909060

答案 1 :(得分:0)

如果其他人试图从包含IP地址的表中进行选择,并且该列被定义为long,则可以转换为bigint,转换将起作用。

select '0.0.0.0'::inet + cast(source_ip as bigint) from addresses;