我有以下两列:
选择 b.ip_address 作为 IP,b.mask 作为接口 b 的掩码,其中 b.ip_address = 167804290; +-----------+------------+ | 知识产权 | 面膜 | +-----------+------------+ | 167804290 | 4294967168 | +-----------+------------+实际 IP 地址及其子网掩码在哪里
选择 INET_NTOA(b.ip_address) 作为 IP,INET_NTOA(b.mask) 作为接口 b 的掩码,其中 b.ip_address = 167804290;我正在尝试使用 mysql 找到一种方法来获取实际的广播范围,在这种情况下是
+--------------+------------------+ | 知识产权 | 面膜 | +--------------+------------------+ | 10.0.125.130 | 255.255.255.128 | +--------------+------------------+ 一组中的 1 行(0.00 秒)
10.0.125.255
or 167804415
,但我看不到它。我得到的最接近的是
从接口 b 中选择 INET_NTOA(b.ip_address+(POWER(2,32)- b.mask - 1)) 其中 b.ip_address = 167804290; +-------------------------------------------------- --+ | INET_NTOA(b.ip_address+(POWER(2,32)- b.mask - 1)) | +-------------------------------------------------- --+ | 10.0.126.1 | +-------------------------------------------------- --+
唯一的问题是,这是假设该列ip_address
是子网的开始10.0.125.128
任何帮助将不胜感激。