Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

문자열 필드의 숫자로 행을 그룹화하는 MySQL 쿼리?

<시간/>

먼저 + 연산자를 사용하여 0을 문자열 필드와 연결할 수 있습니다. 여기서 시나리오는 숫자 "9844를 가져와야 하는 것과 같습니다. " 문자열 필드 "9844Bob ".

먼저 테이블을 생성하겠습니다 -

mysql> create table DemoTable
(
   StudentId varchar(100)
);
Query OK, 0 rows affected (0.92 sec)

삽입 명령을 사용하여 테이블에 일부 레코드 삽입 -

mysql> insert into DemoTable values('9844Bob');
Query OK, 1 row affected (0.20 sec)
mysql> insert into DemoTable values('6375DavidMiller');
Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable values('007');
Query OK, 1 row affected (0.09 sec)
mysql> insert into DemoTable values('97474BobBrown');
Query OK, 1 row affected (0.20 sec)
mysql> insert into DemoTable values('9844Bob56Taylor');
Query OK, 1 row affected (0.16 sec)

select 문을 사용하여 테이블의 모든 레코드 표시 -

mysql> select *from DemoTable;

이것은 다음과 같은 출력을 생성합니다 -

+-----------------+
| StudentId       |
+-----------------+
| 9844Bob         |
| 6375DavidMiller |
| 007             |
| 97474BobBrown   |
| 9844Bob56Taylor |
+-----------------+
5 rows in set (0.00 sec)

다음은 문자열 필드의 숫자로 행을 그룹화하는 쿼리입니다 -

mysql> select StudentId,0+StudentId as GroupValue from DemoTable;

이것은 다음과 같은 출력을 생성합니다 -

+-----------------+------------+
| StudentId       | GroupValue |
+-----------------+------------+
| 9844Bob         |       9844 |
| 6375DavidMiller |       6375 |
| 007             |          7 |
| 97474BobBrown   |      97474 |
| 9844Bob56Taylor |       9844 |
+-----------------+------------+
5 rows in set, 4 warnings (0.00 sec)