본문 바로가기
Database/Oracle

[ORACLE] TRIM() 함수 완전 정복 : 공백 및 문자 제거 활용 법

by Papa Martino V 2025. 6. 3.
728x90

오라클 TRIM() 함수 완전 정복: 공백 및 문자 제거 활용법
[Oracle] TRIM

 

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과 함께 사용할 때 더 세밀한 문자열 처리가 가능합니다.

📚 참고 자료

  • Oracle 공식 문서: docs.oracle.com
  • Oracle SQL 개발자 핸드북
  • SQL 실무 바이블 (한빛미디어)
728x90