2
INET_ATON()

返回 IP 地址的数值

INET6_ATON()

返回 IPv6 地址的数值

我有一列同时包含 ipv4 和 ipv6。

我尝试将它们转换为数字“ip_long”(列名)

我用INET_ATON,它只转换 ipv4

我的问题是,INET6_ATON只转换 ipv6 还是两者都转换?

有什么功能可以同时转换吗?我在数据库中有数百万行需要转换。

4

1 回答 1

3

INET6_ATON()将转换 ipv4 和 ipv6。如您所知,您需要 MySQL 5.6.x 或更高版本。

问题是仅使用INET6_ATON()and INET6_NTOA()。将存储转换后的 IP 的列将是VARBINARY(16)类型。

SELECT INET6_NTOA(INET6_ATON("192.168.1.1"));

SELECT INET6_NTOA(INET6_ATON("2001:db8::1"));

请记住iptest_table 中的列是 VARBINARY(16);

于 2015-06-27T20:56:12.157 回答