You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
41 lines
1.4 KiB
SQL
41 lines
1.4 KiB
SQL
DELIMITER $$
|
|
|
|
CREATE OR REPLACE FUNCTION FN_ADDR_SIGUNGU_REMOVE(FULL_ADDRESS VARCHAR(500)) RETURNS VARCHAR(500)
|
|
BEGIN
|
|
DECLARE suffix VARCHAR(500);
|
|
DECLARE first_word VARCHAR(100);
|
|
DECLARE second_word VARCHAR(100);
|
|
DECLARE Third_word VARCHAR(100);
|
|
|
|
-- 주소의 첫 번째 단어 추출 (공백 기준)
|
|
SET first_word = SUBSTRING_INDEX(full_address, ' ', 1);
|
|
SET second_word = SUBSTRING_INDEX(full_address, ' ', 2);
|
|
SET Third_word = SUBSTRING_INDEX(full_address, ' ', 3);
|
|
|
|
-- 경기도 고양시 일산서구 법곳동 11-111
|
|
-- 서울특별시 영등포구 신길동 11-111
|
|
-- 경기도 양평군 양평읍 11-111
|
|
-- 인천광역시 부평구 구산동 370
|
|
|
|
IF first_word LIKE '%도' THEN
|
|
SET suffix = SUBSTRING(full_address, LOCATE(' ', full_address) + 1);
|
|
ELSEIF first_word LIKE '%시' THEN
|
|
SET suffix = SUBSTRING(full_address, LOCATE(' ', full_address) + 1);
|
|
END IF;
|
|
|
|
IF second_word LIKE '%시' THEN
|
|
SET suffix = SUBSTRING(suffix, LOCATE(' ', suffix) + 1);
|
|
ELSEIF second_word LIKE '%군' THEN
|
|
SET suffix = SUBSTRING(suffix, LOCATE(' ', suffix) + 1);
|
|
ELSEIF second_word LIKE '%구' THEN
|
|
SET suffix = SUBSTRING(suffix, LOCATE(' ', suffix) + 1);
|
|
END IF;
|
|
|
|
IF Third_word LIKE '%구' THEN
|
|
SET suffix = SUBSTRING(suffix, LOCATE(' ', suffix) + 1);
|
|
END IF;
|
|
|
|
RETURN LTRIM(suffix); -- 최종 결과 반환
|
|
END $$
|
|
|
|
DELIMITER ; |