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(12345, 10, 0), --왼쪽부터 총 10자리까지 0으로 채우기
RPAD(12345, 10, 0) --오른쪽부터 총 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
반응형
'개발자였던 것 > 데이터베이스' 카테고리의 다른 글
[Oracle] NVL, NVL2, NULLIF (0) | 2020.12.02 |
---|---|
[Oracle] REPLACE (0) | 2020.12.02 |
[Oracle] subSTR와 subSTRB (0) | 2020.12.02 |
[Oracle] CASE와 DECODE문 (0) | 2020.12.02 |
신입 기술 면접 예상 질문 & 코딩 테스트 (0) | 2020.11.17 |