728x90

Oracle SQL에서 문자열 앞뒤의 불필요한 공백이나 특정 문자를 제거할 때 사용하는 TRIM 함수에 대해 알아봅니다. 실전 예제와 함께 실무에서의 활용법을 자세히 다룹니다.
1. TRIM 함수란?
TRIM 함수는 문자열의 앞뒤에서 불필요한 문자(보통은 공백)를 제거하는 데 사용됩니다. 기본 문법은 다음과 같습니다:
TRIM([[LEADING | TRAILING | BOTH] trim_character FROM] string)
LEADING: 문자열 앞쪽에서 제거TRAILING: 문자열 뒤쪽에서 제거BOTH: 문자열 양쪽에서 제거 (기본값)trim_character: 제거할 문자 (기본은 공백)string: 정제할 문자열
2. 기본 사용 예제
SELECT TRIM(' Oracle SQL ') AS trimmed FROM dual;
-- 결과: 'Oracle SQL'
SELECT TRIM(BOTH 'x' FROM 'xxxOraclexxx') AS result FROM dual;
-- 결과: 'Oracle'
3. LEADING, TRAILING 옵션 사용 예제
SELECT TRIM(LEADING '0' FROM '000123') AS result FROM dual;
-- 결과: '123'
SELECT TRIM(TRAILING '.' FROM 'data....') AS result FROM dual;
-- 결과: 'data'
4. 실무 활용 예제
1) 사용자 입력값 정제
SELECT user_id, TRIM(user_name) AS clean_name
FROM users;
2) 로그 데이터 포맷 정리
SELECT log_id, TRIM(TRAILING ' ') FROM logs WHERE log_type = 'ERROR';
3) 특정 문자 패딩 제거
SELECT TRIM(LEADING '0' FROM account_number) FROM accounts;
5. TRIM 함수와 관련 함수 비교
- LTRIM(string, chars): 문자열 앞에서 특정 문자 제거
- RTRIM(string, chars): 문자열 뒤에서 특정 문자 제거
- REPLACE(string, search, replace): 특정 문자 대체
SELECT LTRIM('***Oracle', '*') AS result FROM dual;
-- 결과: 'Oracle'
6. TRIM 함수 사용 시 주의사항
- 기본 동작은 문자열 양쪽의 공백을 제거합니다.
- 중간에 있는 문자는 제거되지 않습니다.
- 멀티바이트 문자는 정확히 인식되므로 인코딩 설정에 따라 결과가 달라질 수 있습니다.
- NULL 입력 시 결과도 NULL입니다.
7. 실무 팁과 성능
- ETL 과정에서 텍스트 정제에 필수적입니다.
- 문자열 비교 전에 TRIM을 적용하여 오탐 방지
- 인덱스 컬럼에 TRIM을 사용할 경우, 성능에 영향 있을 수 있으므로 주의
8. 결론
TRIM 함수는 Oracle SQL에서 문자열 데이터를 다룰 때 가장 기본적이면서도 자주 사용하는 함수 중 하나입니다. 공백 처리뿐 아니라 특정 문자 제거에도 활용 가능하며, 데이터 정제, 사용자 입력 처리, 로그 분석 등 실무에서 다양하게 사용됩니다. 특히 LTRIM, RTRIM과 함께 사용할 때 더 세밀한 문자열 처리가 가능합니다.
728x90
'Database > Oracle' 카테고리의 다른 글
| [ORACLE] UPPER() 함수로 대문자 처리하는 방법 총 정리 (0) | 2025.06.03 |
|---|---|
| [ORACLE] REPLACE() 함수 사용법과 문자열 치환 실전 예제 (0) | 2025.06.03 |
| [ORACLE] LENGTH()로 문자열 길이 계산하기 : 기본부터 고급까지 (0) | 2025.06.03 |
| [ORACLE] INSTR() 함수로 문자열 위치 찾기의 모든 것 (0) | 2025.06.03 |
| [ORACLE] SUBSTR() 활용 법 : 데이터 전처리에 강력한 함수 (0) | 2025.06.03 |