MySQL TRIM() 함수란?
MySQL의 TRIM() 함수는 문자열에서 특정 접두사(앞부분)나 접미사(뒷부분), 또는 양쪽 모두를 제거할 때 사용하는 함수입니다. 데이터 정리 작업에서 불필요한 공백이나 특정 문자 패턴을 손쉽게 없앨 수 있어 매우 유용하게 활용됩니다.
기본 문법
TRIM([{BOTH | LEADING | TRAILING} [str_to_remove] FROM] string)인자 설명
- BOTH : 문자열의 왼쪽과 오른쪽 양쪽에서 지정한 문자열을 모두 제거합니다.
- LEADING : 문자열 앞쪽(선행)에 있는 문자만 제거합니다.
- TRAILING : 문자열 뒤쪽(후행)에 있는 문자만 제거합니다.
- str_to_remove : 제거하고자 하는 대상 문자열을 의미합니다.
- string : 문자가 제거될 원본 문자열을 의미합니다.
사용 예제
아래 예제들을 통해 TRIM() 함수의 동작 방식을 확인할 수 있습니다.
1. 양쪽(BOTH)에서 특정 문자 제거
mysql> Select TRIM(BOTH '0' FROM '0100'); +----------------------------+ | TRIM(BOTH '0' FROM '0100') | +----------------------------+ | 1 | +----------------------------+ 1 row in set (0.00 sec) mysql> Select TRIM(BOTH 'AB' FROM 'ABCDAB'); +-------------------------------+ | TRIM(BOTH 'AB' FROM 'ABCDAB') | +-------------------------------+ | CD | +-------------------------------+ 1 row in set (0.00 sec)
'0100'에서 '0'을 양쪽에서 제거하면 '1'이 되고, 'ABCDAB'에서 'AB'를 양쪽에서 제거하면 'CD'만 남는 것을 볼 수 있습니다.
2. 뒤쪽(TRAILING)에서만 제거
mysql> Select TRIM(Trailing 'AB' FROM 'ABCDAB'); +-----------------------------------+ | TRIM(Trailing 'AB' FROM 'ABCDAB') | +-----------------------------------+ | ABCD | +-----------------------------------+ 1 row in set (0.00 sec)
TRAILING 옵션을 사용하면 문자열 끝에 있는 'AB'만 제거되어 'ABCD'가 결과로 반환됩니다.
3. 앞쪽(LEADING)에서만 제거
mysql> Select TRIM(Leading 'AB' FROM 'ABCDAB'); +----------------------------------+ | TRIM(Leading 'AB' FROM 'ABCDAB') | +----------------------------------+ | CDAB | +----------------------------------+ 1 row in set (0.00 sec)
LEADING 옵션은 문자열 시작 부분의 'AB'만 제거하므로 결과값은 'CDAB'가 됩니다.
정리
TRIM() 함수는 BOTH, LEADING, TRAILING 옵션을 조합하여 문자열의 앞, 뒤 또는 양쪽에서 원하는 문자를 간편하게 제거할 수 있습니다. 인자를 생략하면 기본적으로 공백이 제거되므로, 일반적인 데이터 클렌징 작업에도 널리 활용됩니다.