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

숫자로 끝나는 테이블 레코드의 문자열을 가져오시겠습니까?

<시간/>

이를 위해 REGEXP를 사용해야 합니다. 구문은 다음과 같습니다 -

select *from yourTableName where yourColumnName REGEXP '[[:digit:]]$';

위의 구문을 이해하기 위해 테이블을 생성해 보겠습니다. 테이블을 생성하는 쿼리는 다음과 같습니다 -

mysql> create table StringEndsWithNumber
   -> (
   -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   -> UserId varchar(20),
   -> UserName varchar(20)
   -> );
Query OK, 0 rows affected (0.62 sec)

삽입 명령을 사용하여 테이블에 일부 레코드를 삽입하십시오. 쿼리는 다음과 같습니다 -

mysql> insert into StringEndsWithNumber(UserId,UserName) values('123User','John');
Query OK, 1 row affected (0.18 sec)
mysql> insert into StringEndsWithNumber(UserId,UserName) values('User456','Larry');
Query OK, 1 row affected (0.19 sec)
mysql> insert into StringEndsWithNumber(UserId,UserName) values('User789','John');
Query OK, 1 row affected (0.12 sec)
mysql> insert into StringEndsWithNumber(UserId,UserName) values('0981User','Carol');
Query OK, 1 row affected (0.17 sec)
mysql> insert into StringEndsWithNumber(UserId,UserName) values('User999','Bob');
Query OK, 1 row affected (0.14 sec)
mysql> insert into StringEndsWithNumber(UserId,UserName) values('User1290','David');
Query OK, 1 row affected (0.37 sec)
mysql> insert into StringEndsWithNumber(UserId,UserName) values('User456','James');
Query OK, 1 row affected (0.21 sec)

select 문을 사용하여 테이블의 모든 레코드를 표시합니다. 쿼리는 다음과 같습니다 -

mysql> select *from StringEndsWithNumber;

출력

+----+----------+----------+
| Id | UserId   | UserName |
+----+----------+----------+
|  1 | 123User  | John     |
|  2 | User456  | Larry    |
|  3 | User789  | John     |
|  4 | 0981User | Carol    |
|  5 | User999  | Bob      |
|  6 | User1290 | David    |
|  7 | User456  | James    |
+----+----------+----------+
7 rows in set (0.00 sec)

다음은 문자열이 숫자로 끝나는 쿼리입니다 -

mysql> select *from StringEndsWithNumber where UserId REGEXP '[[:digit:]]$';

출력

+----+----------+----------+
| Id | UserId   | UserName |
+----+----------+----------+
|  2 | User456  | Larry    |
|  3 | User789  | John     |
|  5 | User999  | Bob      |
|  6 | User1290 | David    |
|  7 | User456  | James    |
+----+----------+----------+
5 rows in set (0.11 sec)