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

ตรวจสอบว่าสตริงมีตัวเลขใน MySQL หรือไม่


ในการตรวจสอบสตริงที่มีตัวเลข คุณสามารถใช้ regexp เช่น Regular Expressions ไวยากรณ์มีดังนี้ −

SELECT *FROM yourTableName โดยที่ yourColumnName REGEXP ‘[0-9]’;

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

mysql> สร้างตาราง StringContainsNumber -> ( -> Id int ไม่ใช่ null auto_increment, -> ข้อความ Words, -> คีย์หลัก (Id) -> ); แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.53 วินาที)

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

mysql> แทรกลงในค่า StringContainsNumber(Words) ('He12345llo');Query OK, 1 แถวได้รับผลกระทบ (0.19 วินาที)mysql> แทรกลงในค่า StringContainsNumber(Words) ('MySQL ไม่ใช่ programming4language'); เคียวรีตกลง 1 แถวได้รับผลกระทบ (0.17 วินาที) mysql> แทรกลงในค่า StringContainsNumber (Words) ('Java เป็นวัตถุเชิงวัตถุ'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.18 วินาที) mysql> แทรกลงในค่า StringContainsNumber (Words) ('Java ไม่ รองรับ 456 multipleinheritance'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.20 วินาที) mysql> แทรกลงในค่า StringContainsNumber (Words) ('MySQL เป็น RDBMS 456'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.19 วินาที)

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

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

ต่อไปนี้เป็นผลลัพธ์

<ก่อนหน้า>+----+----------------------------------------- --------+| รหัส | คำ |+----+------------------------------------------ ------+| 1 | He12345llo || 2 | MySQL ไม่ใช่โปรแกรม 4 ภาษา || 3 | Java เป็นวัตถุเชิงวัตถุ || 4 | Java ไม่รองรับ 456 การสืบทอดหลายรายการ || 5 | MySQL เป็น RDBMS 456 |+----+-------------------------------------- ----------+5 แถวในชุด (0.00 วินาที)

นี่คือแบบสอบถามเพื่อค้นหาสตริงที่มีตัวเลขโดยใช้ REGEXP -

mysql> เลือก *จาก StringContainsNumber โดยที่ Words regexp '[0-9]';

ต่อไปนี้เป็นผลลัพธ์ -

<ก่อนหน้า>+----+----------------------------------------- --------+| รหัส | คำ |+----+------------------------------------------ ------+| 1 | He12345llo || 2 | MySQL ไม่ใช่โปรแกรม 4 ภาษา || 4 | Java ไม่รองรับ 456 การสืบทอดหลายรายการ || 5 | MySQL เป็น RDBMS 456 |+----+-------------------------------------- ----------+4 แถวในชุด (0.11 วินาที)