Oracle SQL에서 문자열의 오른쪽 끝에 있는 특정 문자를 제거할 때 사용하는 RTRIM()
함수는 데이터 정제, 텍스트 클렌징, 입력값 처리 등에 매우 유용합니다. 이 글에서는 RTRIM 함수의 기본 개념부터 실전에서 자주 사용하는 예제까지 단계별로 소개합니다.
1. RTRIM 함수란?
RTRIM() 함수는 문자열의 오른쪽 끝에서 특정 문자나 공백을 제거하는 Oracle SQL의 내장 함수입니다.
RTRIM(string [, trim_characters])
string
: 가공 대상 문자열trim_characters
: (선택) 제거할 문자 집합. 생략 시 공백이 기본값
2. 기본 사용 예제
예제 1: 공백 제거
SELECT RTRIM('Oracle ') AS trimmed FROM dual;
결과: 'Oracle'
예제 2: 특정 문자 제거
SELECT RTRIM('DATA***', '*') AS trimmed FROM dual;
결과: 'DATA'
예제 3: 여러 문자 제거
SELECT RTRIM('ABC654321', '123456') AS trimmed FROM dual;
결과: 'ABC'
3. 실무 활용 예제
예제 4: 사용자 입력값 정제
-- 테이블: USERS(name VARCHAR2)
SELECT name,
RTRIM(name) AS trimmed_name
FROM users;
설명: 사용자 이름 끝 공백 제거로 정제된 이름 사용 가능
예제 5: 파일 확장자 제거
SELECT RTRIM('report_final.txt', '.txt') AS base_name FROM dual;
결과: 'report_final'
예제 6: 데이터 마이그레이션 중 텍스트 후처리
-- 테이블: LEGACY_DATA(description VARCHAR2)
SELECT RTRIM(description, ' ') AS cleaned_desc
FROM legacy_data;
설명: 공백 포함 문자열 칼럼 후처리
4. RTRIM 사용 시 주의사항
- RTRIM은 오른쪽 방향으로만 작동합니다. 왼쪽 제거는
LTRIM()
사용 - 두 번째 인수는 문자 목록으로 처리되며 순서가 아닌 포함 여부로 평가
- 정확한 패턴 매칭이 필요할 경우
REGEXP_REPLACE()
고려
5. RTRIM vs. TRIM vs. LTRIM
함수 | 방향 | 특징 |
---|---|---|
RTRIM | 오른쪽 | 기본값 공백 또는 지정 문자 제거 |
LTRIM | 왼쪽 | 기본값 공백 또는 지정 문자 제거 |
TRIM | 양쪽 또는 방향 지정 | LEADING, TRAILING, BOTH 옵션 사용 가능 |
6. 실무 활용 팁
- 데이터 표준화 전처리 시 공백 및 구분자 제거에 활용
- 입력값 비교 시 RTRIM을 활용한 값 정제 후 조건 비교 추천
- 보고서 출력 시 불필요한 패딩 제거로 가독성 향상
7. 성능 고려 사항
RTRIM은 경량 함수로 분류되지만, 대규모 반복 처리에서는 CPU 사용량이 누적될 수 있습니다. 특히 WHERE 절이나 JOIN 조건에 사용 시 인덱스를 무력화하므로, SELECT 절 또는 가공용 서브쿼리로 분리하는 것이 좋습니다.
8. 결론
Oracle의 RTRIM 함수는 텍스트 데이터 후처리와 정제에 있어 매우 유용한 도구입니다. 본문에서 소개한 다양한 예제를 참고하여 실무에서도 능숙하게 활용하시기 바랍니다.
9. 참고자료
- Oracle 공식 문서: https://docs.oracle.com
- Oracle SQL Language Reference 21c
- SQL 전문가를 위한 실전 가이드 - 김상형 저
'Database' 카테고리의 다른 글
[ Oracle] 오라클 REGEXP_SUBSTR() 함수로 텍스트 분리하는 실무 활용법 (0) | 2025.06.04 |
---|---|
[ Oracle] 오라클 TRANSLATE() 함수로 문자 일괄 치환하는 방법과 활용 예시 (0) | 2025.06.04 |
[ Oracle] 오라클 LTRIM()으로 문자열 앞 공백 제거하는 방법 (0) | 2025.06.04 |
[ Oracle] 오라클 RPAD()로 문자열 길이 맞추기: 실무 활용 팁 (0) | 2025.06.03 |
[ Oracle] 오라클 LPAD()로 숫자·문자 정렬 깔끔하게 처리하는 방법 (0) | 2025.06.03 |