代码之家  ›  专栏  ›  技术社区  ›  Justin

Java:如何将MySQL十进制(39,0)IP地址转换为字符串

  •  2
  • Justin  · 技术社区  · 15 年前

    我听说这里的DBA将把IP地址存储在MySQL数据库的十进制(39,0)字段中。

    如何将其转换为字符串以传递给其他应用程序?

    注意:我们的数据库不能承受更多的负载,所以尽可能多的工作需要在Java应用程序中完成。

    注2:必须支持IPv6。

    2 回复  |  直到 14 年前
        1
  •  5
  •   Vineet Reynolds    15 年前

    使用

    INET_NTOA

    例如:选择inet_ntoa(num)作为ipaddr;

    INET_ATON

    例如:插入addrtbl值(…,inet_aton('192.168.0.1'),…)

    这是因为IPv4最初设计的IP地址定义为32位数字。这个 dot-decimal notation 是为了可读性。

    更新

    如果希望在Java中执行从数字到小数点的转换,则 MindProd site has an example .

        2
  •  -1
  •   Justin    15 年前

    问题解决了,我说服数据库人员将其存储为varchar。