오라클에서 정규식을 사용하여 IP를 모두 3자리로 만든 다음에 비교를 하면 된다.
select REGEXP_REPLACE(REPLACE('.'||'127.0.0.1', '.', '.00'), '([^.]{3}(\.|$))|.', '\1')
from dual;
127.0.0.1 -> 127.000.000.001
위와 같은 정규식을 이용하여 접근하는 아이피 체크를 하면 된다.
기본 데이터는 아이피 허용 시작 ~ 끝으로 설정해 놓고 해당 범위에 들어오면 접근을 허용하면 된다.
select count(*) as cnt
from (
select REGEXP_REPLACE(REPLACE('.'||'192.168.100.55', '.', '.00'), '([^.]{3}(\.|$))|.', '\1') as ip
, REGEXP_REPLACE(REPLACE('.'||'192.168.100.51', '.', '.00'), '([^.]{3}(\.|$))|.', '\1') as ip_start
, REGEXP_REPLACE(REPLACE('.'||'192.168.100.56', '.', '.00'), '([^.]{3}(\.|$))|.', '\1') as ip_end
from dual
) where ip between ip_start and ip_end
;
위 쿼리는 192.168.100.51 ~ 192.168.100.56 까지 접근 가능하게 설정한 예이다.
'DATABASE > 오라클' 카테고리의 다른 글
sql developer 문자열에 '&' 입력시 Enter Substitution variable (0) | 2022.09.06 |
---|---|
오라클 정규식 패턴에 해당하는 영역 가져오기 - REGEXP_SUBSTR (0) | 2022.01.06 |
ORA-00959 : 오라클 imp, 테이블 스페이스 오류 (0) | 2018.03.16 |
오라클 삭제 - 폴더, 레지스터까지 삭제하기 (2) | 2018.03.12 |
오라클 import, imp -> impdp : IMP-00038 : Could not convert to environment character set's handle 에러 (2) | 2017.10.20 |