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

จะจับคู่อักขระหนึ่งตัวใน MySQL แทน % ได้อย่างไร


หากต้องการจับคู่อักขระเพียงตัวเดียวใน MySQL คุณสามารถใช้ขีดล่าง (_) แทน % ไวยากรณ์มีดังนี้:

เลือก *จาก yourTableName โดยที่ yourColumnName LIKE 'yourString_';

เพื่อให้เข้าใจไวยากรณ์ข้างต้น ให้เราสร้างตาราง แบบสอบถามเพื่อสร้างตารางมีดังนี้:

mysql> สร้างตาราง OneCharactermatchDemo -> ( -> Id int ไม่ใช่ NULL AUTO_INCREMENT, -> PassoutYear year, -> PRIMARY KEY(Id) -> );Query OK, 0 แถวได้รับผลกระทบ (0.76 วินาที)

แทรกบางระเบียนในตารางโดยใช้คำสั่งแทรก แบบสอบถามมีดังนี้:

mysql> แทรกลงในค่า OneCharactermatchDemo(PassoutYear) ('2008'); เคียวรีตกลง ได้รับผลกระทบ 1 แถว (0.14 วินาที)mysql> ลงในค่า OneCharactermatchDemo(PassoutYear) ('2007'); เคียวรีตกลง ได้รับผลกระทบ 1 แถว ( 0.18 วินาที) mysql> แทรกลงในค่า OneCharactermatchDemo (PassoutYear) ('2010'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.10 วินาที) mysql> แทรกลงในค่า OneCharactermatchDemo (PassoutYear) ('2011'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว ( 0.13 วินาที) mysql> แทรกลงในค่า OneCharactermatchDemo (PassoutYear) ('2012'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.12 วินาที) mysql> แทรกลงในค่า OneCharactermatchDemo (PassoutYear) ('2006'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว ( 0.10 วินาที) mysql> แทรกลงในค่า OneCharactermatchDemo (PassoutYear) ('2019'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที) mysql> แทรกลงในค่า OneCharactermatchDemo (PassoutYear) ('2016'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว ( 0.13 วินาที) mysql> แทรกลงในค่า OneCharactermatchDemo (PassoutYear) ('2017'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.34 วินาที) mysql> แทรกลงในค่า OneCharactermatchDemo (PassoutYear) s('2015');แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.17 วินาที)mysql> แทรกลงในค่า OneCharactermatchDemo(PassoutYear) ('2020'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.13 วินาที)

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

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

ต่อไปนี้เป็นผลลัพธ์:

<ก่อนหน้า>+----+-------------+| รหัส | PassoutYear |+----+-------------+| 1 | 2008 || 2 | 2007 || 3 | 2010 || 4 | 2011 || 5 | 2012 || 6 | 2549 || 7 | 2019 || 8 | 2016 || 9 | 2017 || 10 | 2015 || 11 | 2020 |+----+-------------+11 แถวในชุด (0.00 วินาที)

นี่คือข้อความค้นหาเพื่อจับคู่อักขระเพียงตัวเดียวโดยใช้ขีดล่าง แบบสอบถามมีดังนี้:

mysql> เลือก *จาก OneCharactermatchDemo โดยที่ PassoutYear Like '200_';

ต่อไปนี้เป็นผลลัพธ์:

<ก่อนหน้า>+----+-------------+| รหัส | PassoutYear |+----+-------------+| 1 | 2008 || 2 | 2007 || 6 | 2006 |+----+-------------+3 แถวในชุด (0.00 วินาที)