도로명주소 안내시스템 개발자센터

Tech & Tips 상세보기 | 도로명주소 개발자센터

Tech & Tips

API, DB, 전자지도등 도로명주소를 이용한 기술개발 및 활용팁을 올려주세요

도로명 정보에 가운데점'·', 마침표'.' 등 포함된 자료 검색

2131님의 제안

  • 댓글 : 1
  • 조회수 : 1371
  • 추천수 125 +1

2017-09-14

도로명주소 DB를 이용한 주소정보 검색 시 도로명에 가운데점'·', 마침표'.' 가 포함된 자료의 조회 예시입니다.
(예 : 3·1만세운동길, 4.19로 등)

 

사용자가 도로명 검색 시 도로명 항목에 가운데점과 마침표를 혼용하여 입력하므로
검색결과가 정확하게 추출되지 않아 주소가 조회되지 않는다는 문의가 있어
도로명 조건에 가운데점과 마침표가 있는 경우만 분리하여 쿼리에서 조정하도록 구현하였습니다.

 

1. 검색조건 : 시도, 시군구, 도로명, 건물본번(필수), 건물부번(선택) 

 

2. 도로명 조건에 가운데점'·', 마침표'.' 가 포함된 경우만 아래와 같이 쿼리 사용(분기처리)
SELECT 주소항목....
  FROM 주소DB.도로명주소 A
 WHERE 도로명코드 LIKE :입력_시군구코드_5자리||'%'    --인덱스 태우기 위해
   AND 도로명코드 IN (SELECT 도로명코드
                        FROM 주소DB.도로명코드
                       WHERE 도로명코드 LIKE :입력_시군구코드_5자리||'%'
                         AND REPLACE(도로명,'·','.') LIKE '%'||REPLACE(:입력_도로명,'·','.')||'%' )                        
   AND 건물본번 = :입력_건물본번
   AND 건물부번 = NVL(:입력_건물부번,0);

 

3. 검색속도 고려하여 아래와 같이 결합인덱스 추가
   - 주소DB.도로명주소_IDX01(도로명코드, 건물본번, 건물부번)
   - 주소DB.도로명코드_IDX01(도로명코드, 도로명)

댓글쓰기

댓글쓰기

댓글1

이런것두 있네요..ㅋㅋㅋ