2013-04-24 1 views
7

에 INET 필드에 LIKE를 사용하는 방법은 다음 쿼리를 수행해야합니다는 포스트 그레스

SELECT * FROM users WHERE ip LIKE '88.99.%'; 

문제는 inet 데이터 형은 내가 활용 한 적어도 방법에 와일드 카드를 (지원하는 것 같습니다하지 않는다는 것입니다 앞의 질의에서 그것들).

내가 알고 싶은 것은 LIKE 필터를 지정하기 전에 필드를 문자열로 변환하는 것이 현명한 방법인지 여부입니다. (반면에 접근법 자체가 유효하더라도 전체 쿼리가 느려질 수 있습니다.)

답변

20

이러한 쿼리에는 서브넷 연산자를 사용하십시오. '88.99.0.0/16' 그것을 수행해야합니다

SELECT * FROM users WHERE ip << inet '88.99.0.0/16';