일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- java
- query
- MariaDB
- swipe 배너
- spring
- vscode tutorial
- 기출문제
- 정보처리산업기사
- NoSQL
- egov
- 구멍가게코딩단
- vue.js
- github
- 마스킹
- Ajax
- mybatis
- JQuery
- jdbc
- JAXBContext
- JSON
- Tomcat
- vue Carousel
- INSERT
- jsp
- insertAll
- 오라클
- 부스트코스
- mysql
- bulkinsert
- checkbox
- Today
- Total
목록
728x90
반응형
마스킹 (2)
개발새발
REGEXP_REPLACE는 오라클의 정규표현식 함수이다. 정규식을 잘 사용하면 SQL과 각종 프로그램의 연산속도를 감소시키며 프로그램을 단순화시킬 수 있다. 모든 숫자를 '*'로 변경하려고 한다면 아래와 같이 쓸 수 있다. SELECT REGEXP_REPLACE('치환할 컬럼명', '[[:digit:]]', '*') FROM '테이블명' 숫자 외에 다른 syntax 종류도 있다. [:alnum:] 영어와 숫자 [:alpha:] 알파벳, [A-Za-z] [:blank:] 공백과 탭 [:digit:] 숫자 [:lower:] 소문자, [a-z] [:punct:] 특수문자 [:space:] 공백(스페이스) [:upper:] 대문자, [A-Z] [가-힣] 한글전체
LPAD 함수 = LPAD(사용할 컬럼명, 대상 값의 크기를 포함한 개수 , 삽입할 문자) CREATE FUNCTION FN_GET_MASK_ALL (mask VARCHAR(50)) RETURNS varchar(50) CHARSET utf8 BEGIN DECLARE masking VARCHAR(50); set masking = LPAD('',char_length(mask),'*') ; RETURN masking; end : 예를 들어 LPAD('aaa',char_length(mask),'*') 이렇게 쓰고 mask 개수가 3개라면 결괏값은 ***aaa 가 된다. 그러므로 받는 컬럼의 개수만큼 마스킹 처리를 하고 싶으면 LPAD('', char_length(mask), '*') 첫 번째 자리를 빈 값으로 ..