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

จะลบ -XXX ออกจากฟิลด์รหัสไปรษณีย์โดยใช้ MySQL REGEXP ได้อย่างไร


วิธีที่ง่ายที่สุดในการทำเช่นนี้คือการใช้ฟังก์ชัน MySQL SUBSTRING_INDEX() ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable( ZipCode varchar(50)); เคียวรีตกลง 0 แถวได้รับผลกระทบ (2.02 วินาที)

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

mysql> แทรกลงในค่า DemoTable ('52533-909'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.23 วินาที) mysql> แทรกลงในค่า DemoTable ('12345-674'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.27 วินาที )mysql> แทรกลงในค่า DemoTable ('89893-890'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.21 วินาที) mysql> แทรกลงในค่า DemoTable ('AAAAA-783'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.25 วินาที) 

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

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

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

<ก่อนหน้า>+-----------+| รหัสไปรษณีย์ |+-----------+| 52533-909 || 12345-674 || 89893-890 || AAAAA-783 |+-----------+4 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อลบ -XXX จากรหัสไปรษณีย์โดยใช้ substring_index() -

mysql> อัปเดต DemoTable set ZipCode=substring_index(ZipCode, '-', 1); ตกลง ตกลง 4 แถวได้รับผลกระทบ (0.44 วินาที) แถวที่ตรงกัน :4 เปลี่ยนแล้ว :4 คำเตือน :0

ให้เราตรวจสอบบันทึกตารางอีกครั้ง -

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

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

<ก่อนหน้า>+---------+| ZipCode |+---------+| 52533 || 12345 || 89893 || AAAAA |+---------+4 แถวในชุด (0.00 วินาที)