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

MySQL REGEXP เพื่อดึงสตริง + บันทึกหมายเลขที่ขึ้นต้นด้วยตัวเลขเฉพาะ?


สำหรับสิ่งนี้ ให้ใช้ REGEXP และดึงข้อมูลระเบียนที่ขึ้นต้นด้วยตัวเลขที่ระบุ ต่อไปนี้เป็นไวยากรณ์:

เลือก yourColumnName1,yourColumnName2from yourTableNamewhere yourColumnName2 REGEXP '^yourStringValue[yourNumericValue]';

ให้เราสร้างตาราง -

mysql> สร้างตาราง demo45-> (−> id int ไม่ใช่ null auto_increment คีย์หลัก −> ค่า varchar(50)−> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (1.50 วินาที)

แทรกบางระเบียนลงในตารางโดยใช้คำสั่งแทรก เรากำลังแทรกบันทึกที่ผสมกับสตริงและตัวเลข เช่น “John500, “John6500” ฯลฯ -

mysql> แทรกลงในค่า demo45(value) ('John500'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.12 วินาที) mysql> แทรกลงใน demo45 (ค่า) ค่า ('John1500'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ ( 0.11 วินาที) mysql> แทรกลงในค่า demo45 (ค่า) ('John5500'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.42 วินาที) mysql> แทรกลงในค่า demo45 (ค่า) ('John6500'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ ( 0.10 วินาที) mysql> แทรกลงในค่า demo45 (ค่า) ('John8600'); ตกลง ตกลง 1 แถวได้รับผลกระทบ (0.19 วินาที)

แสดงบันทึกจากตารางโดยใช้คำสั่ง select -

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

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

<ก่อนหน้า>+----+----------+| id | ค่า |+----+----------+| 1 | John500 || 2 | John1500 || 3 | John5500 || 4 | John6500 || 5 | John8600 |+----+----------+5 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อดึงระเบียนที่มีตัวเลขเฉพาะเช่น 5 และ 6 ที่นี่ -

mysql> เลือก id,value−> จาก demo45−> โดยที่ค่า REGEXP '^John[56]';

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

<ก่อนหน้า>+----+----------+| id | ค่า |+----+----------+| 1 | John500 || 3 | John5500 || 4 | John6500 |+----+----------+3 แถวในชุด (0.00 วินาที)