> 데이터 베이스 > MySQL 튜토리얼 > mysql查询ip地址段时注意的问题

mysql查询ip地址段时注意的问题

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
풀어 주다: 2016-06-07 14:56:49
원래의
1514명이 탐색했습니다.

无 由于前期设计问题,在保存ip地址时,没有存为整型,而是存成了字符串形式,在查询ip的范围区间时,遇到这样的问题:select ip from t_ip where ip between '192.168.11.1' and '192.168.11.150' ,当末尾ip地址最后一位为三位数时,此时就查询不出数据了

 

由于前期设计问题,在保存ip地址时,没有存为整型,而是存成了字符串形式,在查询ip的范围区间时,遇到这样的问题:
select ip from t_ip where ip between '192.168.11.1' and '192.168.11.150' ,当末尾ip地址最后一位为三位数时,此时就查询不出数据了。
查了一下mysql自带有一个对ip地址做处理的函数inet_aton,作用主要是给出一个作为字符串的网络地址的"点地址"(如127.0.0.1)表示,返回一个代表该地址数值的整数,它产生的数字是按照网略字节顺序。

以上语句改为:select ip from t_ip where inet_aton(ip) between inet_aton('192.168.11.1') and inet_aton('192.168.11.150')这样就能有效比较查出数据了
로그인 후 복사
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿