在插入数据库中的ip地址一般是以字符串的形式存入。
在对插入的ip地址进行查询的时候,特别是针对查询精准的ip地址的时候就需要使用数据库函数来判断了。
不妨使用inet_aton函数。
例如:
select inet_aton(ip),ip from ip
或者
select inet_aton(ip),ip from ip where inet_aton(ip)=inet_aton('1.1.1.1')
对于一个网络地址:11.123.10.90
每一个值都不会大于255,也就是十六进制的FF,两个byte刚好表示的最大值是255
这样就可以用32为的整形来表示这个地址的唯一性。
1.1.1.1========》转化为10进制:1001001001
other
查询两个ip之间的所有ip信息:
select * from ip where inet_aton(ip) between inet_aton('1.1.1.1') and inet_aton('1.1.1.3')
在对插入的ip地址进行查询的时候,特别是针对查询精准的ip地址的时候就需要使用数据库函数来判断了。
不妨使用inet_aton函数。
例如:
select inet_aton(ip),ip from ip
或者
select inet_aton(ip),ip from ip where inet_aton(ip)=inet_aton('1.1.1.1')
对于一个网络地址:11.123.10.90
每一个值都不会大于255,也就是十六进制的FF,两个byte刚好表示的最大值是255
这样就可以用32为的整形来表示这个地址的唯一性。
1.1.1.1========》转化为10进制:1001001001
other
查询两个ip之间的所有ip信息:
select * from ip where inet_aton(ip) between inet_aton('1.1.1.1') and inet_aton('1.1.1.3')
本文介绍了如何在数据库中以字符串形式存储IP地址,并利用inet_aton函数进行精确查询的方法。通过将IP地址转换为整数,可以提高查询效率,尤其是在需要查找特定范围内的IP地址时。
360

被折叠的 条评论
为什么被折叠?



