Compare commits

...

3 Commits

@ -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

@ -61,7 +61,7 @@
<if test='schImpltTaskSeCd == null or schImpltTaskSeCd == ""'>
AND ii.IMPLT_TASK_SE_CD IN ('1', '2', '3')
</if>
ORDER BY ii.CRDN_NO, a.ACT_NO ASC
ORDER BY ii.CRDN_NO DESC, a.ACT_NO ASC
<if test='pagingYn != null and pagingYn == "Y"'>
LIMIT #{startIndex}, #{perPage}
</if>

Loading…
Cancel
Save