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

จะอัปเดตค่าด้วยสตริงย่อยของค่าปัจจุบันโดยลบตัวคั่นและตัวเลขหลังตัวคั่นใน MySQL ได้อย่างไร


สมมติว่าคุณมีสตริงที่มีรูปแบบ “StringSeparatorNumber ” แบบ John/56989 ตอนนี้ ถ้าคุณต้องการลบตัวเลขหลังตัวคั่น / ให้ใช้ SUBSTRING_INDEX() ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable( StudentName varchar(100)); แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (1.05 วินาที)

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

mysql> แทรกลงในค่า DemoTable('John/56989');Query OK, 1 แถวได้รับผลกระทบ (0.12 วินาที)mysql> แทรกลงในค่า DemoTable ('Carol'); Query OK, 1 แถวได้รับผลกระทบ (0.21 วินาที)mysql> แทรกลงในค่า DemoTable ('David/74674'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.09 วินาที) mysql> แทรกลงในค่า DemoTable ('Bob/45565'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.09 วินาที)

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

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

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

<ก่อนหน้า>+-------------+| ชื่อนักเรียน |+-------------+| จอห์น/56989 || แครอล || เดวิด/74674 || Bob/45565 |+-------------+4 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อปรับปรุงค่าด้วยสตริงย่อยของค่าปัจจุบัน -

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

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

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

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

<ก่อนหน้า>+-------------+| ชื่อนักเรียน |+-------------+| จอห์น || แครอล || เดวิด || Bob |+-------------+4 แถวในชุด (0.00 วินาที)