如果我有一个使用mysql的IP地址和掩码,是否可以计算子网。我知道要在php中做到这一点,寻找在mysql中做到这一点的方法。我不是在寻找cidr
My example data
ip address: 10.196.73.249
mask:29
如果您已经知道如何在PHP中执行此操作,那么数学对您来说就不应该感到惊讶,只需IP地址和子网掩码即可。
使用MySQL的INET_ATON()
函数将IP地址转换为数字;这等效于PHP的INET_ATON()
函数。要创建掩码,请使用ip2long()
函数放置所需数量的1,并用零填充字符串的其余部分。 ip2long()
将该二进制字符串更改为十进制,以便我们可以进行数学运算,然后执行最后的REPEAT()
将其恢复为IP地址形式。
REPEAT()
这里是如何实现为存储程序:
CONV()
可以这样称呼:
CONV()