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

ฉันจะเลือกเฉพาะแถวที่หลักแรกเป็นตัวเลขตั้งแต่ 0 ถึง 9 ใน MySQL ได้อย่างไร


หากต้องการเลือกเฉพาะแถวที่มีหลักแรกเป็นตัวเลขตั้งแต่ 0 ถึง 9 ให้ใช้ RLIKE

ต่อไปนี้เป็นไวยากรณ์ -

เลือก *จาก yourTableName โดยที่ yourColumnName RLIKE '^[0-9]+'

ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable ( Id int ไม่ใช่ NULL AUTO_INCREMENT PRIMARY KEY, QuestionNumber varchar(200)); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.56 วินาที)

แทรกระเบียนบางส่วนในตารางโดยใช้คำสั่ง insert -

mysql> แทรกลงในค่า DemoTable(QuestionNumber) ('1Question');Query OK, 1 แถวได้รับผลกระทบ (0.18 วินาที)mysql> แทรกลงในค่า DemoTable(QuestionNumber) ('Question2'); Query OK, 1 แถวได้รับผลกระทบ ( 0.15 วินาที) mysql> แทรกลงในค่า DemoTable (QuestionNumber) ('311Question'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที) mysql> แทรกลงในค่า DemoTable (QuestionNumber) ('45Question'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ ( 0.14 วินาที) mysql> แทรกลงในค่า DemoTable (QuestionNumber) ('Question10'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.13 วินาที)

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

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

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+---+----------------+| รหัส | คำถามหมายเลข |+----+----------------+| 1 | 1คำถาม || 2 | คำถามที่2 || 3 | 311คำถาม || 4 | 45คำถาม || 5 | คำถามที่ 10 |+----+----------------+5 แถวในชุด (0.00 วินาที)

นี่คือแบบสอบถามเพื่อเลือกเฉพาะแถวที่หลักแรกเป็นตัวเลขตั้งแต่ 0 ถึง 9 −

mysql> เลือก *จาก DemoTable โดยที่ QuestionNumber RLIKE '^[0-9]+';

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+---+----------------+| รหัส | คำถามหมายเลข |+----+----------------+| 1 | 1คำถาม || 3 | 311คำถาม || 4 | 45Question |+----+----------------+3 แถวในชุด (0.03 วินาที)