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

ใช้ MySQL REGEXP เพื่อละเว้นตัวเลขและรับเฉพาะสตริงและ '/'


สำหรับสิ่งนี้ ให้ใช้ REGEXP_REPLACE() ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable1595 -> ( -> StudentCode varchar(50) -> );ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.44 วินาที)

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

mysql> แทรกลงในค่า DemoTable1595 ('200 John') แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.22 วินาที) mysql> แทรกลงในค่า DemoTable1595 ('101 Carol/400 Taylor'); ตกลง ตกลง 1 แถวได้รับผลกระทบ (0.72 วินาที)mysql> แทรกลงในค่า DemoTable1595 ('101 302 405 Sam/9870'); ตกลง ตกลง 1 แถวได้รับผลกระทบ (0.28 วินาที)

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

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

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

<ก่อนหน้า>+----------------------+| รหัสนักศึกษา |+----------------------+| 200 จอห์น || 101 Carol/400 เทย์เลอร์ || 101 302 405 Sam/9870 |+----------------------+3 แถวในชุด (0.00 วินาที)

นี่คือแบบสอบถามเพื่อใช้ MySQL REGEXP เพื่อละเว้นตัวเลขและรับเฉพาะสตริงและ '/' -

mysql> เลือก regexp_replace(StudentCode,' *[0-9]+([.,][0-9]+)?(/[0-9]+([.,][0-9]+ )?)? *', '') เป็น `GetOnlyStringand/` จาก DemoTable1595;

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

<ก่อนหน้า>+-------------------+| GetOnlyStringand/ |+-------------------+| จอห์น || แครอล/เทย์เลอร์ || แซม/ |+-------------------+3 แถวในชุด (0.00 วินาที)