이를 위해 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)