หากต้องการตรวจสอบว่ามีค่าอยู่ในรายการที่คั่นด้วยเครื่องหมายจุลภาคหรือไม่ คุณสามารถใช้ฟังก์ชัน FIND_IN_SET()
ไวยากรณ์มีดังนี้
SELECT *FROM yourTablename WHERE FIND_IN_SET('yourValue',yourColumnName)> 0;
ให้เราสร้างตารางก่อน แบบสอบถามในการสร้างตารางมีดังนี้
mysql> สร้างตารางมีอยู่InCommaSeparatedList -> ( -> รหัส int ไม่ใช่ NULL AUTO_INCREMENT คีย์หลัก -> ชื่อ varchar(200) -> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.68 วินาที)
ตอนนี้คุณสามารถแทรกบางระเบียนในตารางโดยใช้คำสั่งแทรก
แบบสอบถามมีดังนี้
mysql> แทรกลงในค่าที่มีอยู่InCommaSeparatedList(Name) ('John,Carol,Sam,Larry,Bob,David'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.35 วินาที)mysql> แทรกลงในค่าที่มีอยู่InCommaSeparatedList (ชื่อ) ('Maxwell ,Chris,James');Query OK, 1 แถวได้รับผลกระทบ (0.14 วินาที)mysql> แทรกลงในค่าที่มีอยู่InCommaSeparatedList(Name) ('Robert,Ramit');Query OK, 1 แถวได้รับผลกระทบ (0.34 วินาที)
แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select
แบบสอบถามมีดังนี้
mysql> เลือก *จากมีอยู่InCommaSeparatedList;
ต่อไปนี้เป็นผลลัพธ์
<ก่อนหน้า>+----+--------------------------------+| รหัส | ชื่อ |+----+--------------------------------+| 1 | จอห์น แครอล แซม ลาร์รี่ บ๊อบ เดวิด || 2 | แม็กซ์เวลล์,คริส,เจมส์ || 3 | Robert,Ramit |+----+--------------------------------+3 แถวในชุด (0.00 วินาที )นี่คือแบบสอบถามเพื่อตรวจสอบว่ามีค่าอยู่ในรายการที่คั่นด้วยเครื่องหมายจุลภาคหรือไม่ เรากำลังตรวจสอบช่องที่มีข้อความคั่นด้วยเครื่องหมายจุลภาค “Robert”
mysql> SELECT *FROM มีอยู่ในCommaSeparatedList โดยที่ FIND_IN_SET('Robert',Name)> 0;
ต่อไปนี้เป็นผลลัพธ์
<ก่อนหน้า>+----+--------------+| รหัส | ชื่อ |+----+-------------+| 3 | Robert,Ramit |+----+--------------+1 แถวในชุด (0.00 วินาที)