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 ;