서으이 2020. 12. 2. 12:39
728x90
반응형

요구사항으로 자릿수를 일정하게 맞춰달라는 요구가 있다.

이럴 때오라클에서 유용하게 사용할 있는 함수는 LPAD, RPAD 함수이다.

LPAD, RPAD함수는 n자리만큼 왼쪽, 오른쪽 부터 채워서 반환하는 문자열 함수이다.

LPAD, RPAD 본래 용도는 문자열 삽입을 용도로 사용하지만, 자릿수를 일정하게 맞추는 용도로도 사용할  있.

 

LPAD, RPAD

LPAD(char1, n [,char2])
RPAD(char1, n [,char2])

 

LPAD : 왼쪽에 문자열을 끼어 놓는 역할을 한다.
RPAD : 오른쪽에 문자열을 끼어 놓는 역할을 한다.

n은 반환되는 문자열의 전체 길이를 나타내며, char1의 문자열이 n보다 클 경우 char1을 n개 문자열만큼 반환한다.

 

1
2
3
4
5
6
7
8
9
10
11
-- LPAD, RPAD 예제
 
SELECT LPAD('oracleclub'12'*') name FROM DUAL
 UNION ALL
SELECT RPAD('oracleclub'12'*') name FROM DUAL;
 
 
NAME
------------
**oracleclub
oracleclub**
cs

 

자릿수 맞추기

LPAD, RPAD함수는 자릿수를 동일하게 맞춰줄 때 유용하게 사용된다.

LPAD는 왼쪽부터 12345를 10자리 숫자까지 0으로, RPAD는 오른쪽부터 12345를 10자리 숫자까지 0으로 채우는 예제이다.

1
2
3
4
5
6
7
8
9
SELECT 
LPAD(12345100), --왼쪽부터 총 10자리까지 0으로 채우기
RPAD(12345100--오른쪽부터 총 10자리까지 0으로 채우기
FROM DUAL;
 
 
 LPAD             RPAD
--------------    --------------
 0000012345      1234500000
cs

 

문자열 삽입

아래와 같이 문자열을 삽입하는 방법으로도 사용할 수 있다.

주의할 점은 총자릿수를 꼭 구해서 인자 값에 넣어주어야 하므로 고정적인 길이를 가진 칼럼에만 사용 가능하다.

1
2
3
4
5
6
7
8
9
10
SELECT 
LPAD('1234-1234',13'010-'), --왼쪽에 '010-' 문자 삽입
RPAD('010-1234-1234'23'(전화번호)'--오른쪽끝에 '(전화번호)' 문자 삽입
FROM DUAL;
 
 
 LPAD             RPAD
--------------    --------------
 010-1234-1234   010-1234-1234(전화번호)
 
cs

 

 

728x90
반응형