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

Regex เพื่อค้นหาสตริงและอักขระถัดไปในรายการที่คั่นด้วยเครื่องหมายจุลภาค - MySQL?


หากต้องการค้นหาในรายการที่คั่นด้วยเครื่องหมายจุลภาค ให้ใช้ MySQL find_in_set() ไม่จำเป็นต้องใช้ Regex เพื่อจุดประสงค์นี้ที่นี่ ไวยากรณ์มีดังนี้ −

เลือก *จาก yourTableName โดยที่ find_in_set(anyValue,yourColumnName);

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

mysql> สร้างตาราง demo17−> (−> id int ไม่ใช่ null auto_increment คีย์หลัก,−> first_name varchar(50),−> value text−> );Query OK, 0 แถวได้รับผลกระทบ (1.81 วินาที)

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

mysql> แทรกลงใน demo17(first_name,value) values('John','50');Query OK, 1 แถวได้รับผลกระทบ (0.11 วินาที)mysql> แทรกลงใน demo17 (first_name,value) ค่า ('David', '');แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที)mysql> แทรกลงใน demo17(first_name,value) ค่า ('Adam','50,89'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที)mysql> แทรก ลงใน demo17(first_name,value) values('Adam','49,89,43');ตกลง, 1 แถวได้รับผลกระทบ (0.20 วินาที)

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

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

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

<ก่อนหน้า>+----+-----------+----------+| id | first_name | ค่า |+----+------------+----------+| 1 | จอห์น | 50 || 2 | เดวิด | || 3 | อดัม | 50,89 || 4 | อดัม | 49,89,43 |+----+-----------+----------+4 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อค้นหาสตริงและอักขระถัดไป -

mysql> เลือก *จาก demo17 โดยที่ find_in_set(50,value);

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

<ก่อนหน้า>+----+-----------+-------+| id | first_name | ค่า |+----+------------+-------+| 1 | จอห์น | 50 || 3 | อดัม | 50,89 |+----+-----------+-------+2 แถวในชุด (0.00 วินาที)