database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
ㆍPostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
PostgreSQL Q&A 7117 게시물 읽기
No. 7117
sql문에 대해서 문의드립니다.
작성자
박성호(pshkr72)
작성일
2007-04-30 10:50
조회수
5,834

안녕하세요.

postgres 8.1.5를 사용하고 있습니다.

inet 형식으로 칼럼을 만들고 나서요.


select * from ipdata where ips = '192.168.1.11';

이라고 하면 정상적으로 동작을 합니다.


select * from ipdata where ips = '192.168.1';

이라고 하면 psql:tt:4: ERROR:  invalid input syntax for type inet: "192.168.1"; 이라고 나옵니다.


제가 원하는 것은 

IP형식과 맞지 않게 입력하고 비교를 해도 에러 메세지를 표시하지 않고

비교를 하는 것이 필요합니다.


제가 아는 짧은 지식으로 아래와 같이 수정하니

비정상인 경우에도 에러메세지가 나지 않느데요

정상적인 경우도데 결과가 나오지 않네요...

select * from ipdata where ips::varchar = '192.168.1.';      << 에러메시지 나오는 않음.

select * from ipdata where ips::varchar = '192.168.1.11';    << 결과가 나오지 않음.


글을 읽어 주셔서 고맙습니다.

즐거운 일이 넘치시길 바랍니다.

Postgres 초보가.

이 글에 대한 댓글이 총 3건 있습니다.

네트워크 주소를 다루는 자료형에는 inet 과 cidr 이 있는데, 원하는 작업을 하려면, cidr 쪽으로 자료형을 바꾸셔야할 것 같습니다. 

자세한 것은 http://www.postgresql.or.kr/pgdoc/datatype-net-types.html 문서를 참조 하시고.

김상기(ioseph)님이 2007-04-30 16:08에 작성한 댓글입니다.

답글 감사합니다.
inet, cidr에 대한 여러가지 함수가 있다는 것을 알게 되었습니다.

이런방법도 있는듯 합니다.
아래와 같이 하니 원하는 결과가 나오기는 했습니다.
select * from iplist where cip::varchar like '192.168.1.%';

하지만 시스템이 부하를 많이 주는듯 합니다.  ㅠㅠ;;
모두들 즐거운 일이 넘치시길 바랍니다.

박성호(pshkr72)님이 2007-05-01 17:02에 작성한 댓글입니다.

inet , cidr 을 함수가 아니라 자료형입니다.

char, varchar, int, numeric, double 과 같은 그런 것이지요..


이렇게 하면 쉽게 해결될거 같습니다.

select * from table where ips << '192.168.1'::cidr;

192.168.1/24 대역의 ip 에 해당하는  ips 만 가져옵니다.

뭐 좀 더 명확히 할려면

tyro님이 2007-05-02 23:28에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
7123좀 복잡한 쿼리인데요.. 용어에 대한 이해도가 떨어져서요.. [1]
이종현
2007-04-30
5346
7122두 날짜의 차이(기간) 구하기 [4]
period
2007-04-30
7601
7121PQstatus 함수를 쓰다가 .... [1]
윤영덕
2007-04-30
5055
7117sql문에 대해서 문의드립니다. [3]
박성호
2007-04-30
5834
7116Postgresql 초보입니다. 이제 막 관심을 가지고 있습니다. [2]
이종현
2007-04-28
6001
7115시퀀스명 변경? [1]
dba
2007-04-27
6290
7114삭제한 칼럼의 정보 완전히 없애는 방법? [1]
dba
2007-04-26
4594
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.019초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다