[使用mysql查询从IP地址和掩码计算子网

问题描述 投票:1回答:1

如果我有一个使用mysql的IP地址和掩码,是否可以计算子网。我知道要在php中做到这一点,寻找在mysql中做到这一点的方法。我不是在寻找cidr

My example data

ip address: 10.196.73.249
mask:29
mysql ip-address
1个回答
3
投票

如果您已经知道如何在PHP中执行此操作,那么数学对您来说就不应该感到惊讶,只需IP地址和子网掩码即可。

使用MySQL的INET_ATON()函数将IP地址转换为数字;这等效于PHP的INET_ATON()函数。要创建掩码,请使用ip2long()函数放置所需数量的1,并用零填充字符串的其余部分。 ip2long()将该二进制字符串更改为十进制,以便我们可以进行数学运算,然后执行最后的REPEAT()将其恢复为IP地址形式。

REPEAT()

这里是如何实现为存储程序:

CONV()

可以这样称呼:

CONV()
© www.soinside.com 2019 - 2024. All rights reserved.