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

MySQL에서 열 값의 처음 2자만 유지하고 나머지 문자를 삭제하는 쿼리 작성법

MySQL에서 열 값의 처음 두 글자만 남기고 나머지 문자를 모두 삭제하려면 SUBSTRING() 함수를 사용하면 됩니다. 이 함수는 지정한 시작 위치부터 원하는 길이만큼의 부분 문자열을 반환하며, UPDATE 문과 함께 사용하면 기존 데이터를 손쉽게 잘라낼 수 있습니다.

1. 테이블 생성하기

먼저 예제에 사용할 테이블을 생성합니다.

mysql> create table DemoTable743 (SubjectName varchar(100));
Query OK, 0 rows affected (0.54 sec)

2. 샘플 데이터 삽입하기

INSERT 명령을 사용해 몇 개의 레코드를 추가합니다.

mysql> insert into DemoTable743 values('MySQL');
Query OK, 1 row affected (0.20 sec)
mysql> insert into DemoTable743 values('Java');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable743 values('MongoDB');
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable743 values('Python');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable743 values('Data Structure');
Query OK, 1 row affected (0.68 sec)
mysql> insert into DemoTable743 values('Algorithm');
Query OK, 1 row affected (0.12 sec)

3. 전체 레코드 확인하기

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

mysql> select *from DemoTable743;

위 쿼리는 다음과 같은 결과를 출력합니다.

+----------------+
| SubjectName    |
+----------------+
| MySQL          |
| Java           |
| MongoDB        |
| Python         |
| Data Structure |
| Algorithm      |
+----------------+
6 rows in set (0.00 sec)

4. SUBSTRING()으로 처음 2자만 유지하기

이제 열 값의 처음 2자만 유지하고 나머지 문자를 삭제하는 UPDATE 쿼리입니다. SUBSTRING(컬럼명, 1, 2)는 첫 번째 위치부터 2글자를 추출한다는 의미입니다.

mysql> update DemoTable743 set SubjectName=SUBSTRING(SubjectName,1,2);
Query OK, 6 rows affected (0.12 sec)
Rows matched: 6 Changed: 6 Warnings: 0

5. 결과 확인하기

업데이트 후 테이블을 다시 조회하여 결과를 확인합니다.

mysql> select *from DemoTable743;

모든 값이 처음 두 글자만 남은 것을 볼 수 있습니다.

+-------------+
| SubjectName |
+-------------+
| My          |
| Ja          |
| Mo          |
| Py          |
| Da          |
| Al          |
+-------------+
6 rows in set (0.00 sec)

참고 사항

SUBSTRING() 대신 LEFT(SubjectName, 2) 함수를 사용해도 동일한 결과를 얻을 수 있습니다. 또한 MySQL 5.x 이상 버전에서는 SUBSTR()도 같은 기능을 제공하므로 상황에 맞게 선택하여 사용하시면 됩니다.