728x90

Oracle SQL에서 문자열 우측을 지정된 문자로 채워 정해진 길이로 맞추는 RPAD 함수의 사용법과 다양한 실무 예제를 제공합니다.
1. RPAD 함수란?
RPAD 함수는 지정한 길이만큼 문자열의 오른쪽(Right)에 특정 문자를 채워 문자열을 맞춰주는 Oracle 내장 함수입니다.
RPAD(string, length, pad_string)
- string: 원본 문자열
- length: 결과 문자열의 전체 길이
- pad_string: 오른쪽에 채울 문자열 (생략 시 공백)
2. 기본 사용 예제
SELECT RPAD('123', 5, '0') FROM dual;
-- 결과: '12300'
SELECT RPAD('oracle', 10, '*') FROM dual;
-- 결과: 'oracle****'
SELECT RPAD('ABC', 6) FROM dual;
-- 결과: 'ABC ' (기본 공백)
3. RPAD의 주요 활용 사례
1) 보고서 포맷 정렬
SELECT RPAD(name, 20, ' ') || RPAD(salary, 10, ' ') AS report_line
FROM staff;
2) 고정 코드 생성
SELECT RPAD(product_id, 10, 'X') AS padded_id
FROM inventory;
3) 문자열 정렬 정제
SELECT RPAD(city, 15, '.') AS formatted_city
FROM locations;
4. 실무 활용 팁
- 데이터 출력 시 시각적 정렬에 매우 유용
- LPAD와 RPAD를 조합해 양방향 포맷 조정 가능
- 문자열 데이터의 고정 폭 유지에 적합
5. LPAD와의 차이점
- LPAD: 왼쪽에 채움 (Left PAD)
- RPAD: 오른쪽에 채움 (Right PAD)
SELECT LPAD('A', 5, '-') AS left_padded,
RPAD('A', 5, '-') AS right_padded
FROM dual;
-- 결과: '----A', 'A----'
6. 특이 케이스 및 주의사항
- 지정 길이보다 원본 문자열이 길면 잘려나감
- pad_string이 여러 문자일 경우 반복하여 채움
SELECT RPAD('123456789', 5, '*') FROM dual;
-- 결과: '12345' (잘림)
SELECT RPAD('A', 6, 'xyz') FROM dual;
-- 결과: 'Axyzxy'
7. 인덱스와 성능 고려
RPAD는 가공 함수로 인덱스를 사용하지 않음. WHERE 절 사용 시 함수 기반 인덱스 고려 필요.
CREATE INDEX idx_rpad_user ON users(RPAD(user_code, 10, '0'));
8. 결론
RPAD 함수는 Oracle SQL에서 텍스트 데이터를 정형화하거나, 보고서 포맷을 조정할 때 매우 유용합니다. LPAD와 함께 활용하면 문자열 가공에서 더욱 강력한 효과를 볼 수 있습니다.
728x90
'Database > Oracle' 카테고리의 다른 글
| [ORACLE] RTRIM() 사용법 : 문자열 오른쪽 공백 제거하는 방법 (0) | 2025.06.04 |
|---|---|
| [ORACLE] LTRIM()으로 문자열 앞 공백 제거하는 방법 (0) | 2025.06.04 |
| [ORACLE] LPAD()로 숫자·문자 정렬 깔끔하게 처리하는 방법 (0) | 2025.06.03 |
| [ORACLE] INITCAP() 함수로 텍스트 포맷을 표준화하는 방법 (0) | 2025.06.03 |
| [ORACLE] LOWER() 함수로 대소문자 문제 해결하기 (0) | 2025.06.03 |