문자열 끝에 특정 문자(예: 물음표 '?')가 있을 때 이를 제거하려면 MySQL의 TRIM() 함수를 활용할 수 있습니다. TRIM 함수는 TRAILING 키워드와 함께 사용하면 문자열 끝에 위치한 지정한 문자만 깔끔하게 잘라낼 수 있습니다.
1. 테이블 생성하기
먼저 예제에 사용할 테이블을 생성합니다.
mysql> create table DemoTable
(
UserId varchar(100)
);
Query OK, 0 rows affected (0.63 sec)2. 샘플 데이터 삽입하기
INSERT 명령어를 사용해 레코드를 추가합니다. 이때 일부 문자열의 끝에는 물음표(?)를 붙여 넣습니다.
mysql> insert into DemoTable values('User123?');
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable values('User777');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable values('User456');
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable values('User133?');
Query OK, 1 row affected (0.16 sec)3. 전체 레코드 조회하기
SELECT 문으로 테이블의 모든 레코드를 확인합니다.
mysql> select *from DemoTable;
위 쿼리는 다음과 같은 결과를 출력합니다.
+----------+ | UserId | +----------+ | User123? | | User777 | | User456 | | User133? | +----------+ 4 rows in set (0.00 sec)
4. 마지막 물음표(?) 제거하기
아래 쿼리는 문자열 끝에 특정 문자, 즉 여기서는 물음표(?)가 존재하는 경우 해당 문자를 제거합니다.
mysql> select trim(trailing '?' from UserId) from DemoTable;
실행 결과는 다음과 같습니다.
+--------------------------------+ | trim(trailing '?' from UserId) | +--------------------------------+ | User123 | | User777 | | User456 | | User133 | +--------------------------------+ 4 rows in set (0.04 sec)
참고 사항
trim(trailing '?' from 컬럼명) 구문은 문자열 끝에 있는 모든 물음표를 제거한다는 점에 유의하세요. 만약 물음표가 없는 문자열이라면 원본 그대로 반환되므로 안전하게 사용할 수 있습니다. 또한 실제 데이터를 수정하려면 UPDATE 문과 함께 이 표현식을 사용하면 됩니다.