如何将二进制数据类型转换为IP字符串

时间:2014-02-20 08:03:29

标签: reporting-services vertica

我们已在Vertica数据库中将IP地址存储为二进制文件。如何将它们转换为xxx.xxx.xxx.xxx等IP地址以显示在SSRS报告中?

2 个答案:

答案 0 :(得分:0)

我不知道是否有“正式批准”的方法,所以如果没有其他人建议我认为你正在寻找黑客。如果是这样,请尝试提取二进制IP地址并将其传递给十六进制转储程序并发布您获得的内容以及相应的IP地址(如果可能)。

用于hex-dump的Unix工具是 od ,使用它如下:

od -x somefile

echo something | od -x

答案 1 :(得分:0)

帖子中的掩码表明您拥有IPv4地址。所以一个简单的例子是(按顺序假设网络):

SELECT INET_NTOA(HEX_TO_INTEGER(TO_HEX(HEX_TO_BINARY('a0b0c0d0'))));

HEX_TO_BINARY('a0b0c0d0')仅用于演示。

对于IPv6,正如Kermit在评论中建议的那样,使用V6_NTOA。