티스토리 뷰
최근 회사에서 Oracle 쿼리를 MySQL로 컨버팅 하는 작업을 해야했다.
MySQL은 처음이라 많이 삽질했다. 왜 MySQL은 Oracle의 편리한 기능(함수 또는 펑션)이 거의 없는지...
Connect by 도 없고 REGEXP_ 계열도 없고, TO_NUMBER도 없고...
물론 비슷하게 흉내낼 수 있다. 하지만 여전히 불편함이 많다...
잡설이 길었군...어쨌든... 오라클의 REGEXP_REPLACE 함수를 MYSQL에서 사용하기 위해서
함수(펑션)을 구현해서 사용하자. 함수 생성 후 사용법은 오라클의 것과 동일하다.
======================================================
DELIMITER //
DROP FUNCTION IF EXISTS regexp_replace//
CREATE FUNCTION regexp_replace(original VARCHAR(1000),pattern VARCHAR(1000),replacement VARCHAR(1000))
RETURNS VARCHAR(1000)
DETERMINISTIC
BEGIN
DECLARE temp VARCHAR(1000);
DECLARE ch VARCHAR(1);
DECLARE i INT;
SET i = 1;
SET temp = '';
IF original REGEXP pattern THEN
loop_label: LOOP
IF i > CHAR_LENGTH(original) THEN
LEAVE loop_label;
END IF;
SET ch = SUBSTRING(original,i,1);
IF NOT ch REGEXP pattern THEN
SET temp = CONCAT(temp,ch);
ELSE
SET temp = CONCAT(temp,replacement);
END IF;
SET i=i+1;
END LOOP;n
ELSE
SET temp = original;
END IF;
RETURN temp;
END//
DELIMITER ;
- Total
- Today
- Yesterday
- commit
- 톰캣
- 마스킹
- STS
- Java
- AES Decryption
- jvm특징
- redisson
- Tomcat
- 오라클
- Eclipse
- 이클립스
- AES 복호화
- 스프링
- SSL
- 아파치 톰캣 연동
- apache
- AES 암호화
- 자바 정규식
- 휴대폰번호 마스킹
- spring
- AWS KMS
- 아파치
- RegExp
- Oracle
- 클래스로더
- AES Encryption
- AES with AWS KMS
- redissonclient
- svn
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |