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

标签 java mysql networking

所以我被告知这里的 DBA 将在我们的 MySQL 数据库中的 DECIMAL(39,0) 字段中存储 IP 地址。

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

注意:我们的数据库不能再承受任何负载,因此需要在 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 位数字。 dot-decimal notation是为了可读性。

更新

如果您希望在 Java 中执行从数字到点十进制表示法的转换,MindProd site has an example .

关于Java:如何将 MySQL DECIMAL(39,0) IP 地址转换为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1457374/

相关文章:

Java Spring Boot Json 查询在 MongoDb 中使用正则表达式

java - jdk socket实现了哪些协议(protocol)

batch-file - mysqldump 批处理脚本以输出单个表以进行选择性还原

php - 使用 Command Create 更新 Yii 中的查询不起作用

c++ - 如何辨别网络流量

java - 我可以在 Rhino 中将 Javascript 数组作为通用集合传递吗?

JAVA-错误: cannot find symbol -- haven't found answer on site yet

php - 如何在 MySQL 中进行文本挖掘以查找相似文本中的出处

iphone - 是否可以通过 3G 上的 NAT 穿越技术连接 iPhone 进行对等 2 对等游戏

java - 获取局域网内所有IP和MAC地址