REGEXP को बाइनरी स्ट्रिंग के रूप में मिलान करने के लिए BINARY कीवर्ड का उपयोग करें। आइए अंतर देखते हैं।
उदाहरण
टेबल बनाएं:
mysql> create table DemoTable (
-> Name varchar(100)
-> );
Query OK, 0 rows affected (0.46 sec)
विभिन्न केस वाले नाम डालें:
mysql> insert into DemoTable values('John');
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable values('JOHN');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable values('john');
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable values('JOhn');
Query OK, 1 row affected (0.17 sec)
सभी रिकॉर्ड देखें:
mysql> select * from DemoTable;
आउटपुट
+------+ | Name | +------+ | John | | JOHN | | john | | JOhn | +------+ 4 rows in set (0.00 sec)
REGEXP और BINARY के साथ REGEXP का अंतर:
mysql> select Name REGEXP 'JOHN' AS ResultWithoutBinary,
-> Name REGEXP BINARY 'JOHN' AS ResultWithBinary from DemoTable;
आउटपुट
+---------------------+------------------+ | ResultWithoutBinary | ResultWithBinary | +---------------------+------------------+ | 1 | 0 | | 1 | 1 | | 1 | 0 | | 1 | 0 | +---------------------+------------------+ 4 rows in set (0.04 sec)
व्याख्या: बिना BINARY के, REGEXP केस-इनसेंसिटिव होता है (सभी 1 लौटाता है)। BINARY के साथ, यह केस-सेंसिटिव हो जाता है और केवल 'JOHN' से मेल खाता है।