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

รับสตริงในระเบียนตารางที่ลงท้ายด้วยตัวเลขหรือไม่


คุณต้องใช้ REGEXP สำหรับสิ่งนี้ ไวยากรณ์มีดังนี้ −

เลือก *จาก yourTableName โดยที่ yourColumnName REGEXP '[[:digit:]]$';

เพื่อให้เข้าใจไวยากรณ์ข้างต้น ให้เราสร้างตาราง แบบสอบถามเพื่อสร้างตารางมีดังนี้ −

mysql> สร้างตาราง StringEndsWithNumber -> ( -> Id int ไม่ใช่ NULL AUTO_INCREMENT PRIMARY KEY, -> UserId varchar(20), -> UserName varchar(20) -> ); แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.62 วินาที) 

แทรกบางระเบียนในตารางโดยใช้คำสั่งแทรก แบบสอบถามมีดังนี้ −

mysql> แทรกลงในค่า StringEndsWithNumber(UserId,UserName) ('123User','John');Query OK, 1 แถวได้รับผลกระทบ (0.18 วินาที)mysql> แทรกลงใน StringEndsWithNumber(UserId,UserName) ค่า ('User456', 'Larry');แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.19 วินาที) mysql> แทรกลงในค่า StringEndsWithNumber (UserId ชื่อผู้ใช้) ('User789', 'John'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.12 วินาที) mysql> แทรกลงใน StringEndsWithNumber(UserId,UserName) values('0981User','Carol');Query OK, 1 แถวได้รับผลกระทบ (0.17 วินาที)mysql> แทรกลงใน StringEndsWithNumber (UserId,UserName) ค่า ('User999','Bob');แบบสอบถามตกลง , 1 แถวได้รับผลกระทบ (0.14 วินาที)mysql> แทรกลงในค่า StringEndsWithNumber (UserId, ชื่อผู้ใช้) ('User1290', 'David'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.37 วินาที) mysql> แทรกลงในค่า StringEndsWithNumber (UserId, ชื่อผู้ใช้) ('User456','James');แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.21 วินาที)

แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select แบบสอบถามมีดังนี้ −

mysql> เลือก *จาก StringEndsWithNumber;

ผลลัพธ์

<ก่อนหน้า>+----+----------+----------+| รหัส | รหัสผู้ใช้ | ชื่อผู้ใช้ |+----+----------+----------+| 1 | 123ผู้ใช้ | จอห์น || 2 | ผู้ใช้456 | แลร์รี่ || 3 | User789 | จอห์น || 4 | 0981ผู้ใช้ | แครอล || 5 | User999 | บ๊อบ || 6 | ผู้ใช้1290 | เดวิด || 7 | ผู้ใช้456 | James |+----+----------+----------+7 แถวในชุด (0.00 วินาที)

นี่คือข้อความค้นหาที่สตริงลงท้ายด้วยตัวเลข -

mysql> เลือก *จาก StringEndsWithNumber โดยที่ UserId REGEXP '[[:digit:]]$';

ผลลัพธ์

<ก่อนหน้า>+----+----------+----------+| รหัส | รหัสผู้ใช้ | ชื่อผู้ใช้ |+----+----------+----------+| 2 | ผู้ใช้456 | แลร์รี่ || 3 | User789 | จอห์น || 5 | User999 | บ๊อบ || 6 | ผู้ใช้1290 | เดวิด || 7 | ผู้ใช้456 | James |+----+----------+----------+5 แถวในชุด (0.11 วินาที)