Merge remote-tracking branch 'origin/dev' into dev
commit
da86d752cb
@ -0,0 +1,37 @@
|
||||
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;
|
||||
@ -0,0 +1,53 @@
|
||||
CREATE FUNCTION FN_NUM_TO_KOR_BIG(n BIGINT) RETURNS VARCHAR(255)
|
||||
BEGIN
|
||||
DECLARE units CHAR(9) DEFAULT '일이삼사오육칠팔구';
|
||||
DECLARE positions CHAR(3) DEFAULT '십백천';
|
||||
DECLARE big_units CHAR(4) DEFAULT '만억조경'; -- 필요 시 '해' 등 추가 가능
|
||||
DECLARE result VARCHAR(255) DEFAULT '';
|
||||
DECLARE section BIGINT;
|
||||
DECLARE section_str VARCHAR(50);
|
||||
DECLARE i INT;
|
||||
DECLARE digit INT;
|
||||
DECLARE len INT;
|
||||
DECLARE part VARCHAR(50);
|
||||
DECLARE idx INT DEFAULT 0;
|
||||
DECLARE temp BIGINT;
|
||||
|
||||
IF n = 0 THEN
|
||||
RETURN '영';
|
||||
END IF;
|
||||
|
||||
SET temp = n;
|
||||
|
||||
-- 억 단위 이상 처리
|
||||
WHILE temp > 0 DO
|
||||
SET section = temp % 10000; -- 4자리씩 자르기
|
||||
SET section_str = '';
|
||||
SET len = LENGTH(section);
|
||||
SET i = 1;
|
||||
|
||||
WHILE i <= 4 DO
|
||||
SET digit = FLOOR(section / POW(10, 4-i)) % 10;
|
||||
IF digit <> 0 THEN
|
||||
SET section_str = CONCAT(section_str, SUBSTRING(units, digit, 1));
|
||||
IF 4-i > 0 THEN
|
||||
SET section_str = CONCAT(section_str, SUBSTRING(positions, 4-i, 1));
|
||||
END IF;
|
||||
END IF;
|
||||
SET i = i + 1;
|
||||
END WHILE;
|
||||
|
||||
IF section_str <> '' THEN
|
||||
IF idx = 0 THEN
|
||||
SET result = section_str;
|
||||
ELSE
|
||||
SET result = CONCAT(section_str, SUBSTRING(big_units, idx, 1), result);
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
SET temp = FLOOR(temp / 10000);
|
||||
SET idx = idx + 1;
|
||||
END WHILE;
|
||||
|
||||
RETURN result;
|
||||
END
|
||||
Loading…
Reference in New Issue