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

แยกวิเคราะห์สตริงเพื่อรับตัวเลขจากสตริงขนาดใหญ่ที่คั่นด้วยขีดล่าง


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

mysql> สร้างตาราง DemoTable1961 (ข้อความชื่อ) ตกลง สืบค้น 0 แถวได้รับผลกระทบ (0.00 วินาที)

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

mysql> แทรกลงในค่า DemoTable1961 ('You_can_remove_the_string_part_only-10001-But_You_can_not_remove_the_numeric_parts');เคียวรีตกลง ได้รับผลกระทบ 1 แถว (0.00 วินาที)

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

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

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

<ก่อน>+--------------------------------------------- ------------------------------------+| ชื่อเรื่อง |+---------------------------------------------------------- ----------------------------------------------------+| You_can_remove_the_string_part_only-10001-But_You_can_not_remove_the_numeric_parts |+------------------------------------------- ----------------------------------------- +1 แถวในชุด (0.00 วินาที)

นี่คือแบบสอบถามที่จะใช้ CAST() และแยกวิเคราะห์สตริงเพื่อรับตัวเลขจากสตริง -

mysql> เลือก cast(replace(replace('You_can_remove_the_string_part_only-10001-But_You_can_not_remove_the_numeric_parts','You_can_remove_the_string_part_only-',''), '-But_You_can_not_remove_the_numeric_parts','You_can_remove_the_string_part_only-',''), '-But_You_can_not_remove_the_numeric_parts','You_can_remove_the_string_part_only-',''), '-But_You_can_not_remove'_premove_pre_the_' 

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

<ก่อนหน้า>+---------+| เอาท์พุต |+---------+| 10001 |+--------+1 แถวในชุด (0.00 วินาที)