所以我被告知这里的DBA将在我们的MySQL数据库的DECIMAL(39,0)字段中存储IP地址.
我怎样才能将其转换为String以传递给我们的其他应用程序?
注意:我们的数据库不能承担更多负载,因此尽可能多的工作需要在Java应用程序中完成.
注2:IPv6支持是必须的.
使用
INET_NTOA
例如:SELECT INET_NTOA(num)AS ipaddr;
和
INET_ATON
例如:INSERT INTO addrTbl VALUES(...,INET_ATON('192.168.0.1'),...)
这是因为IPv4最初设计为将IP地址定义为32位数字.该点分十进制是readbility.
更新
如果您希望在Java中执行从数字到点十进制表示法的转换,MindProd站点就有一个示例.