ด้วยความช่วยเหลือของโอเปอเรเตอร์ RLIKE เราสามารถทำการจับคู่ประเภทนี้ได้ แนวคิดเดียวคือการใช้แบ็กสแลชจำนวนหนึ่งในการสืบค้น MySQL ตัวอย่างด้านล่างจะทำให้ชัดเจนขึ้น -
เรามีตารางต่อไปนี้ที่มีค่าเช่น 'a\b' และ 'a\\b'
mysql> select * from backslashes; +------+-------+ | Id | Value | +------+-------+ | 1 | 200 | | 2 | 300 | | 4 | a\\b | | 3 | a\b | +------+-------+ 4 rows in set (0.10 sec)
ตอนนี้ สมมติว่าถ้าเราต้องการจับคู่ค่า 'a\\b' เราต้องเขียนแบ็กสแลชแปดตัว เป็นเพราะแบ็กสแลชที่สองไม่ได้หลบหนีโดยอันแรก ดังนั้นในการเปรียบเทียบสองลิตร เราจำเป็นต้องเพิ่มแบ็กสแลชเป็นสองเท่า แต่ในขณะที่เรากำลังค้นหาตารางสำหรับสตริงดังกล่าวจากสตริง MySQL การเสแสร้งนี้จะเกิดขึ้นสองครั้งในไคลเอนต์และอีกครั้ง ฐานข้อมูล ดังนั้น เราจำเป็นต้องใช้แบ็กสแลชสี่ครั้งเหมือนที่ทำในแบบสอบถามด้านล่าง -
mysql> Select * from backslashes where value RLIKE 'a\\\\\\\\b'; +------+-------+ | Id | Value | +------+-------+ | 4 | a\\b | +------+-------+ 1 row in set (0.00 sec) mysql> Select * from backslashes where value RLIKE 'a\\\\b'; +------+-------+ | Id | Value | +------+-------+ | 3 | a\b | +------+-------+ 1 row in set (0.01 sec)