Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL TRIM() 함수 완벽 가이드 – 문자열 접두사·접미사 제거 방법

MySQL의 TRIM() 함수는 문자열에서 특정 접두사(prefix)나 접미사(suffix), 또는 양쪽 모두를 제거할 때 사용하는 문자열 처리 함수입니다. 주로 불필요한 공백이나 특정 문자를 정리하는 데 활용되며, 데이터 클렌징 작업에서 매우 유용하게 쓰입니다. 아래 문법을 통해 TRIM() 함수의 동작 방식을 쉽게 이해할 수 있습니다.

TRIM() 함수 기본 문법

TRIM([{BOTH | LEADING | TRAILING} [str_to_remove] FROM] string)

각 인수의 의미는 다음과 같습니다.

  • BOTH – 문자열의 왼쪽(앞)과 오른쪽(뒤) 양쪽에서 지정한 문자열을 모두 제거합니다.
  • LEADING – 문자열의 시작 부분에 있는 선행 문자만 제거합니다.
  • TRAILING – 문자열의 끝 부분에 있는 후행 문자만 제거합니다.
  • str_to_remove – 제거하고자 하는 대상 문자열을 지정합니다.
  • string – 문자가 제거될 원본 문자열을 의미합니다.

참고로 BOTH, LEADING, TRAILING 옵션과 str_to_remove를 생략하면, TRIM() 함수는 기본적으로 문자열 양쪽의 공백(space)을 제거합니다.

TRIM() 함수 사용 예제

1. 양쪽(BOTH)에서 특정 문자 제거하기

mysql> Select TRIM(BOTH '0' FROM '0100');
+----------------------------+
| TRIM(BOTH '0' FROM '0100') |
+----------------------------+
| 1                          |
+----------------------------+
1 row in set (0.00 sec)

'0100' 문자열에서 양쪽 끝의 '0'이 모두 제거되어 '1'만 남습니다.

2. 양쪽(BOTH)에서 '**' 문자 제거하기

mysql> Select TRIM(BOTH '**' from '**tutorialspoint.com**');
+------------------------------------------------+
| TRIM(BOTH '**' from '**tutorialspoint.com**')  |
+------------------------------------------------+
| tutorialspoint.com                             |
+------------------------------------------------+
1 row in set (0.00 sec)

문자열 앞뒤에 붙어 있던 '**'가 모두 사라지고 깔끔한 도메인 문자열만 출력됩니다.

3. 뒤쪽(TRAILING)에서만 '**' 문자 제거하기

mysql> Select TRIM(Trailing '**' from '**tutorialspoint.com**');
+----------------------------------------------------+
| TRIM(Trailing '**' from '**tutorialspoint.com**')  |
+----------------------------------------------------+
| **tutorialspoint.com                               |
+----------------------------------------------------+
1 row in set (0.00 sec)

TRAILING 옵션을 사용하면 뒤쪽의 '**'만 제거되고, 앞쪽의 '**'는 그대로 유지됩니다.

4. 앞쪽(LEADING)에서만 '**' 문자 제거하기

mysql> Select TRIM(Leading '**' from '**tutorialspoint.com**');
+---------------------------------------------------+
| TRIM(Leading '**' from '**tutorialspoint.com**')  |
+---------------------------------------------------+
| tutorialspoint.com**                              |
+---------------------------------------------------+
1 row in set (0.00 sec)

반대로 LEADING 옵션을 사용하면 앞쪽의 '**'만 제거되고, 뒤쪽의 '**'는 그대로 남습니다.

마무리

MySQL TRIM() 함수는 단순히 공백을 제거하는 것을 넘어, BOTH, LEADING, TRAILING 옵션을 조합하여 원하는 위치의 특정 문자를 정밀하게 제거할 수 있는 강력한 도구입니다. 입력 데이터의 형식을 통일하거나 저장 전 문자열을 정리해야 할 때 적극적으로 활용해 보시기 바랍니다.