경품추첨 내용을 발표하려고 이름이나 아이디를 화면에 노출하려 하는데,
보안상 일정 부분을 가려야 한다 할 때 어떻게 해야 할까요..?
방법이야 여러가지 있겠지만, 여기는 lpad 함수를 사용해 보려고 합니다.
lpad(<원래문자>, <맞출 자릿수>, <빈 자리에 사용한 물자>) 라고 보면 되겠는데요..
자, '홍길동' 에서 가운데 글자만 가린다고 하고, 칼럼 이름이 name 이라면..
substr(name,1,1) || lpad('*',length(name)-2,'*') || substr(name, length(name), 1)
substr(name,1,1) 는 맨 앞 1자리를 추출.
lpad('*',length(name)-2,'*') 는 첫번째 파라미터 '*' 문자를 사용하되,
length(name)-2 자릿수에 맞추고,
빈 공간은 세번째 파라미터인 '*' 문자를 사용하여 채운다.
substr(name, length(name), 1) 는 맨 뒤 1자리를 추출.
상기와 같이 한다면, name 을 '홍길동전' 이라고 했을때 결과로 '홍**전' 이 나오게 됩니다.
에또.. 'tistory' 라는 아이디 맨 뒤 3자리를 가린다고 할 때, 칼럼 이름이 id 라면..
substr(id,1,length(id)-3)||lpad('*',3,'*')
substr(id,1,length(id)-3) 은 맨 앞에서부터 문자열을 취하되 문자열 길이에서 '***' 로 대체할 갯수를 빼고 추출.
lpad('*',3,'*') 는 '*' 문자를 3번 반복하여 사용..
결과는.. 'tist***' 가 됩니다.
.Fine.
'Server Oriented > DB-Oracle' 카테고리의 다른 글
Orange 4.x 도 윈도우8.1 64bit 에 설치해서 사용 가능 (0) | 2014.06.20 |
---|---|
Oracle 11g Express 에는 Client 는 없고 Server 만 들어 있음. (2) | 2014.06.20 |
ora-00997, long data 유형은 사용할 수 없다..? long raw 작업시 to_lob 고려 (0) | 2014.02.04 |
오라클 all_resource 에서 특정 문자열 포함한 내용 찾기 (0) | 2013.06.28 |
사용자가 입력한 일자가 정상적인지 체크 (0) | 2012.09.20 |