Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

ค้นหาสตริงที่ลงท้ายด้วยตัวเลขใน MySQL ด้วย REGEXP

ใช้ REGEXP '[[:digit:]]$' เพื่อค้นหาแถวที่คอลัมน์ลงท้ายด้วยตัวเลข

ไวยากรณ์

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)

เพิ่มข้อมูล (UserId บางตัวลงท้ายตัวเลข บางตัวไม่):

mysql> insert into StringEndsWithNumber(UserId,UserName) values('123User','John');
mysql> insert into StringEndsWithNumber(UserId,UserName) values('User456','Larry');
mysql> insert into StringEndsWithNumber(UserId,UserName) values('User789','John');
mysql> insert into StringEndsWithNumber(UserId,UserName) values('0981User','Carol');
mysql> insert into StringEndsWithNumber(UserId,UserName) values('User999','Bob');
mysql> insert into StringEndsWithNumber(UserId,UserName) values('User1290','David');
mysql> insert into StringEndsWithNumber(UserId,UserName) values('User456','James');

ข้อมูลทั้งหมด:

+----+----------+----------+
| Id | UserId   | UserName |
+----+----------+----------+
|  1 | 123User  | John     |
|  2 | User456  | Larry    |
|  3 | User789  | John     |
|  4 | 0981User | Carol    |
|  5 | User999  | Bob      |
|  6 | User1290 | David    |
|  7 | User456  | James    |
+----+----------+----------+

ค้นหาที่ลงท้ายตัวเลข:

mysql> SELECT * FROM StringEndsWithNumber WHERE UserId REGEXP '[[:digit:]]$';

ผลลัพธ์ (5 แถว):

+----+----------+----------+
| Id | UserId   | UserName |
+----+----------+----------+
|  2 | User456  | Larry    |
|  3 | User789  | John     |
|  5 | User999  | Bob      |
|  6 | User1290 | David    |
|  7 | User456  | James    |
+----+----------+----------+

แถวที่ 1 (123User) และ 4 (0981User) ไม่ถูกเลือก เพราะลงท้ายตัวอักษร

Regular Expression Patterns อื่นๆ

  • ^[[:digit:]] - เริ่มต้นด้วยตัวเลข
  • [[:digit:]] - มีตัวเลขอยู่ที่ไหนก็ได้
  • ^[[:alpha:]] - เริ่มต้นด้วยตัวอักษร