ใช้คีย์เวิร์ด BINARY เพื่อบังคับให้ REGEXP จับคู่สตริงเป็นสตริงไบนารี เราจะเห็นความแตกต่างที่นี่
ให้เราสร้างตารางก่อน -
mysql> สร้างตาราง DemoTable-> (-> ชื่อ varchar(100)-> ); สืบค้นตกลง 0 แถวได้รับผลกระทบ (0.46 วินาที)
แทรกบางระเบียนในตารางโดยใช้คำสั่งแทรก เรามีชื่อที่มีกรณีต่างกัน -
mysql> แทรกลงในค่า DemoTable ('John'); Query OK, 1 แถวได้รับผลกระทบ (0.18 วินาที)mysql> แทรกลงในค่า DemoTable ('JOHN'); Query OK, 1 แถวที่ได้รับผลกระทบ (0.14 วินาที)mysql> แทรก ลงในค่า DemoTable('john');Query OK, 1 แถวได้รับผลกระทบ (0.16 วินาที)mysql> แทรกลงในค่า DemoTable ('JOhn');Query OK, 1 แถวได้รับผลกระทบ (0.17 วินาที)
แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select -
mysql> เลือก *จาก DemoTable;
ผลลัพธ์
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
<ก่อนหน้า>+------+| ชื่อ |+------+| จอห์น || จอห์น || จอห์น || JOhn |+------+4 แถวในชุด (0.00 วินาที)นี่คือแบบสอบถามเพื่อเรียนรู้ความแตกต่างระหว่างตัวดำเนินการ REGEXP และ REGEXP กับ BINARY -
mysql> เลือกชื่อ REGEXP 'JOHN' AS ResultWithOutBinary, ชื่อ REGEXP BINARY 'JOHN' เป็น ResultWithBinary จาก DemoTable;
ผลลัพธ์
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
<ก่อนหน้า>+---------------------+-----------------+| ResultWithOutBinary | ResultWithBinary |+----------------------+-----------------+| 1 | 0 || 1 | 1 || 1 | 0 || 1 | 0 |+---------------------------+-----------------+4 แถวในชุด (0.04 วินาที)