Purpose
문자열을 지정된 크기로 채워야 되는 때가 있습니다. 이름을 30자리로 맞춰달라든지, 금액을 10자리로 하는데 앞자리를 0으로 채워달라고 하는 경우들이죠.
특정문자열을 지정한 자릿수만큼 내가 정한 문자로 채울때 쓰는 함수가 LPAD, RPAD 함수입니다. 영어 단어 PAD의 뜻은 '덧대다'의 뜻이 있는데, IT에서 쓰는 뜻은 데이터 영역의 불필요한 부분을 공백 등으로 채우는 일(TTA정보통신용어사전) 이라고 정의되어 있습니다.
그러므로
LPAD(Left PAD) 왼쪽 채우기
RPAD(Right PAD) 오른쪽 채우기
라고 할 수 있습니다.
Syntax
LPAD와 RPAD의 문법은 같습니다. 왼쪽으로 채우냐, 오른쪽으로 채우냐의 차이가 있을 뿐이죠.
expr1 : 작업문자열
n : 자릿수
expr2 : expr1이 n 자릿수를 다 채우지 못할 경우 채우게 되는 문자나 문자열
Examples
1. expr2를 지정하지 않는 경우
문법에서 expr2를 지정하지 않으면 기본적으로 expr2값은 공백으로 설정됩니다. 예제는 공백을 잘 표현하기 위해서 앞뒤에 '*'문자를 넣어서 작성했습니다. 공백이 들어간게 잘 보입니다.
2. expr2를 지정한 경우
문법에서 expr2를 지정하게 되면 남는 자릿수는 지정된 문자로 채워지게 됩니다. 위 예제에서는 '#'를 지정문자로 선택했기 때문에 10자리 중 'AA'를 제외한 나머지 8개가 '#'로 채워집니다.
3. n이 expr1 자릿수보다 작은경우
expr1의 자릿수보다 n값이 작을 경우에는 문자열이 잘려지게 됩니다. 데이터 손실이 발생하는 부분이니 꼭 확인하셔서 자릿수를 알맞게 설정하시기 바랍니다.
4. expr2를 두자리 이상 지정한 경우
대체문자인 expr2가 두자리 이상이 지정된 경우에는 문자열을 빈자리에 한문자씩 순서대로 채워나갑니다. 위 예제에는 채워야 될 자릿수가 8자리인데, 대체문자는 '!@#'으로 세개입니다. 그래서 마지막 두자리는 대체문자 순서대로 '!@'까지 두자리가 채워지게됩니다.
'IT' 카테고리의 다른 글
[오라클/함수] 문자열 잘라내기 TRIM 함수 (0) | 2016.11.30 |
---|---|
[오라클/함수] 문자열에서 불필요한 부분 잘라내기 LTRIM, RTRIM 함수 (1) | 2016.11.30 |
[오라클/함수] 문자열 대문자 및 소문자로 변경 LOWER, UPPER 함수 (0) | 2016.11.29 |
[오라클/함수] 첫문자를 대문자로 리턴 INITCAP 함수 (0) | 2016.11.29 |
[오라클/함수] 오라클 문자열 합치기 CONCAT 함수 (0) | 2016.11.28 |