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

MySQL TRIM() 함수로 문자열의 접두사·접미사 한 번에 제거하는 방법

MySQL에서 문자열의 앞부분(접두사)이나 뒷부분(접미사), 또는 양쪽 모두를 제거해야 할 때는 TRIM() 함수를 사용하면 됩니다. TRIM() 함수는 주로 공백을 제거하는 용도로 알려져 있지만, 옵션을 활용하면 특정 문자열을 지정해서 제거할 수도 있습니다. 아래 문법과 예제를 통해 자세히 살펴보겠습니다.

TRIM() 함수 기본 문법

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

각 인수의 의미

  • BOTH: 문자열의 왼쪽과 오른쪽 양쪽에서 지정한 문자열을 모두 제거합니다.
  • LEADING: 문자열의 앞부분(선행)에 있는 문자열만 제거합니다.
  • TRAILING: 문자열의 뒷부분(후행)에 있는 문자열만 제거합니다.
  • str_to_remove: 제거하고자 하는 대상 문자열입니다.
  • string: 접두사나 접미사를 제거할 원본 문자열입니다.

BOTH, LEADING, TRAILING 중 어떤 키워드도 지정하지 않으면 기본값으로 BOTH가 적용되며, str_to_remove를 생략하면 기본적으로 공백이 제거됩니다.

TRIM() 함수 사용 예제

다음은 실제 MySQL에서 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'만 제거되고 앞부분은 그대로 유지됩니다.

3. 앞쪽(LEADING)에서만 특정 문자 제거

mysql> Select TRIM(Leading 'AB' FROM 'ABCDAB');
+----------------------------------+
| TRIM(Leading 'AB' FROM 'ABCDAB') |
+----------------------------------+
| CDAB                             |
+----------------------------------+
1 row in set (0.00 sec)

반대로 LEADING 옵션을 사용하면 문자열 시작 부분의 'AB'만 제거되고 뒷부분은 그대로 남습니다.

정리

TRIM() 함수는 단순한 공백 제거를 넘어 BOTH, LEADING, TRAILING 옵션과 제거할 문자열을 조합함으로써 다양한 데이터 정제 작업에 활용할 수 있습니다. 예를 들어 코드 값 앞뒤의 불필요한 구분 문자를 없애거나, 저장된 데이터의 형식을 일관되게 맞출 때 매우 유용합니다.