2010-05-21 137 views
7

有没有简单的方法将int转换为PostgreSQL中的IP地址?我能够从IP去使用此代码为int:将int转换为IP地址

 
SELECT inet '1.2.3.4'-'0.0.0.0' 

这不起作用:

 
SELECT 16909060::inet 

我没有看到文档中任何事情。有谁知道如何做到这一点?

回答

11
SELECT '0.0.0.0'::inet + 16909060 
+0

这似乎适用于我。 – User1 2010-05-21 23:34:28

0

如果任何人试图从包含IP地址的表中选择和列被定义为long,你可以转换为bigint而转化工作。

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