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

ตรวจสอบว่ามีค่าอยู่ในรายการที่คั่นด้วยเครื่องหมายจุลภาคใน MySQL หรือไม่


หากต้องการตรวจสอบว่ามีค่าอยู่ในรายการที่คั่นด้วยเครื่องหมายจุลภาคหรือไม่ คุณสามารถใช้ฟังก์ชัน 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 วินาที)