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

MySQL에서 문자열의 첫 번째 문자만 잘라내는 방법

MySQL에서 문자열의 첫 번째 문자만 제거하고 싶다면 substr() 함수와 UPDATE 명령어를 함께 사용하면 됩니다. 기본 문법은 다음과 같습니다.

UPDATE yourTableName set yourColumnName=substr(yourColumnName,2);

여기서 substr(컬럼명, 2)은 두 번째 위치부터 끝까지의 문자를 반환하기 때문에, 결과적으로 첫 번째 문자가 잘려나가게 됩니다.

예제 테이블 생성하기

문법을 실제로 이해하기 위해 먼저 테이블을 생성해 보겠습니다.

mysql> create table CutStringDemo
-> (
-> Value varchar(100)
-> );
Query OK, 0 rows affected (0.66 sec)

이제 INSERT 명령어를 사용해 몇 개의 레코드를 삽입합니다. 각 값은 쉼표(,)로 시작하는 문자열입니다.

mysql> insert into CutStringDemo values(',12,3456');
Query OK, 1 row affected (0.14 sec)

mysql> insert into CutStringDemo values(',23,9867');
Query OK, 1 row affected (0.16 sec)

mysql> insert into CutStringDemo values(',20,3212');
Query OK, 1 row affected (0.12 sec)

mysql> insert into CutStringDemo values(',23456,1234');
Query OK, 1 row affected (0.14 sec)

SELECT 문으로 테이블의 모든 레코드를 조회해 보겠습니다.

mysql> select *from CutStringDemo;

실행 결과는 다음과 같습니다.

+-------------+
| Value       |
+-------------+
| ,12,3456    |
| ,23,9867    |
| ,20,3212    |
| ,23456,1234 |
+-------------+
4 rows in set (0.00 sec)

첫 번째 문자 잘라내기

이제 Value 컬럼에서 첫 번째 문자를 잘라내 보겠습니다. 실행할 쿼리는 다음과 같습니다.

mysql> update CutStringDemo set Value=substr(Value,2);
Query OK, 4 rows affected (0.20 sec)
Rows matched: 4 Changed: 4 Warnings: 0

UPDATE가 정상적으로 실행되었다면, 다시 SELECT 문을 사용해 첫 번째 문자가 실제로 제거되었는지 확인할 수 있습니다.

mysql> select *from CutStringDemo;

아래 출력 결과를 보면 첫 번째 문자인 쉼표(,)가 성공적으로 제거된 것을 확인할 수 있습니다.

+------------+
| Value      |
+------------+
| 12,3456    |
| 23,9867    |
| 20,3212    |
| 23456,1234 |
+------------+
4 rows in set (0.00 sec)

참고 사항

substr() 대신 동일한 기능을 하는 substring() 함수를 사용해도 결과는 같습니다. 또한 특정 조건에 해당하는 행만 수정하고 싶다면 UPDATE 문 뒤에 WHERE 절을 추가하면 됩니다. 예를 들어 UPDATE CutStringDemo SET Value=SUBSTR(Value,2) WHERE Value LIKE ',%';처럼 작성하면 쉼표로 시작하는 데이터만 안전하게 처리할 수 있습니다.