MySQL에는 LTRIM()과 RTRIM() 함수 외에도, 문자열의 선행 공백과 후행 공백을 한 번에 모두 제거할 수 있는 TRIM() 함수가 있습니다.
TRIM() 함수의 사용 방법은 아래 예시를 통해 쉽게 이해할 수 있습니다. 이 예시에서는 이름 데이터에 선행 공백과 후행 공백이 포함된 'Name' 컬럼을 가진 test_trim 테이블을 사용합니다.
예제
mysql> Select Name, TRIM(Name) AS 'Name Without Spaces' from test_trim; +---------------+---------------------+ | Name | Name Without Spaces | +---------------+---------------------+ | Gaurav | Gaurav | | Rahul | Rahul | | Aarav | Aarav | +---------------+---------------------+ 3 rows in set (0.00 sec)
설명
위 결과에서 볼 수 있듯이, TRIM() 함수는 각 이름 앞뒤에 있던 불필요한 공백을 모두 제거한 깔끔한 값을 반환합니다. 즉, 선행 공백만 제거하는 LTRIM()과 후행 공백만 제거하는 RTRIM()을 따로 호출할 필요 없이, TRIM() 하나만으로 두 작업을 동시에 처리할 수 있습니다.
참고로 TRIM() 함수는 기본적으로 공백(스페이스)을 제거하지만, 다음과 같이 특정 문자열을 지정하여 제거 대상을 변경할 수도 있습니다.
- TRIM(BOTH 'x' FROM str) : 문자열 양쪽에서 지정한 문자 'x'를 제거
- TRIM(LEADING 'x' FROM str) : 문자열 앞쪽에서 지정한 문자 'x'를 제거
- TRIM(TRAILING 'x' FROM str) : 문자열 뒤쪽에서 지정한 문자 'x'를 제거
따라서 데이터 정리(cleansing) 작업 시 사용자 입력값의 앞뒤 공백을 손쉽게 제거하고 싶다면, TRIM() 함수를 활용하는 것이 가장 간편하고 효율적인 방법입니다.