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

MySQL에서 숫자 쿼리 결과를 분할하는 방법

MySQL에서 숫자로 된 쿼리 결과를 분할하려면 CONCAT() 함수를 사용하면 됩니다. 이 함수는 여러 문자열을 하나로 연결해 주는 역할을 하며, LEFT() 및 RIGHT() 함수와 함께 사용하면 원하는 위치를 기준으로 숫자 값을 손쉽게 나눌 수 있습니다.

1. 테이블 생성하기

먼저 실습에 사용할 테이블을 생성해 보겠습니다.

mysql> create table DemoTable
    (
    StudentId int
    );
Query OK, 0 rows affected (0.68 sec)

2. 데이터 삽입하기

INSERT 명령을 사용하여 테이블에 샘플 레코드를 추가합니다.

mysql> insert into DemoTable values(2222);
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable values(5555);
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable values(4567);
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable values(8905);
Query OK, 1 row affected (0.15 sec)

3. 전체 레코드 조회하기

SELECT 문을 사용하여 테이블에 저장된 모든 레코드를 확인합니다.

mysql> select *from DemoTable;

출력 결과

+-----------+
| StudentId |
+-----------+
| 2222      | 
| 5555      |
| 4567      |
| 8905      |
+-----------+
4 rows in set (0.00 sec)

4. 숫자 값 분할 쿼리 실행하기

다음은 숫자 쿼리 결과를 분할하는 쿼리입니다. 이 예제에서는 값의 첫 번째 자릿수를 기준으로 앞부분과 나머지 부분을 구분하여 슬래시(/)로 연결했습니다.

  • LEFT(StudentId, 1) : 첫 번째 자릿수를 추출합니다.
  • RIGHT(StudentId, LENGTH(StudentId)-1) : 첫 자릿수를 제외한 나머지 숫자를 추출합니다.
  • CONCAT() : 두 부분 사이에 '/' 기호를 넣어 하나의 문자열로 합칩니다.
mysql> select concat(left(StudentId, 1), '/',right(StudentId, length(StudentId)-1)) splitNumericalValue from DemoTable;

출력 결과

+---------------------+
| splitNumericalValue |
+---------------------+
| 2/222               |
| 5/555               |
| 4/567               |
| 8/905               |
+---------------------+
4 rows in set (0.00 sec)

위 출력 결과에서 볼 수 있듯이 각 숫자 값이 첫 번째 자릿수와 나머지 부분으로 성공적으로 분할된 것을 확인할 수 있습니다. 이 방법을 응용하면 특정 자릿수를 기준으로 전화번호, 날짜, 코드 등 다양한 형식의 숫자 데이터를 원하는 대로 가공할 수 있습니다.