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

ค้นหาบันทึกเฉพาะจากคอลัมน์ที่มีค่าคั่นด้วยเครื่องหมายจุลภาคใน MySQL


สำหรับสิ่งนี้ คุณสามารถใช้ FIND_IN_SET() ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable -> ( -> ListOfValue varchar(20) -> );ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.52 วินาที)

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

mysql> แทรกลงในค่า DemoTable ('78,89,65'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.12 วินาที) mysql> แทรกลงในค่า DemoTable ('88,96,97'); แบบสอบถามตกลง 1 แถว ได้รับผลกระทบ (0.30 วินาที) mysql> แทรกลงในค่า DemoTable ('95,96,99,100'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.11 วินาที) mysql> แทรกลงในค่า DemoTable ('78,45,67,98'); แบบสอบถาม ตกลง ได้รับผลกระทบ 1 แถว (0.10 วินาที)

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

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

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

<ก่อนหน้า>+-------------+| ListOfValue |+--------------+| 78,89,65 || 88,96,97 || 95,96,99,100 || 78,45,67,98 |+--------------+4 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อค้นหาบันทึกเฉพาะจากคอลัมน์ที่มีค่าคั่นด้วยเครื่องหมายจุลภาค -

mysql> เลือก * จาก DemoTable -> โดยที่ find_in_set('89',ListOfValue) -> หรือ -> find_in_set('99',ListOfValue);

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

<ก่อนหน้า>+-------------+| ListOfValue |+--------------+| 78,89,65 || 95,96,99,100 |+--------------+2 แถวในชุด (0.00 วินาที)