执行字符串比较时,MySQL BINARY 关键字有什么用?
当 MySQL 执行字符串比较时,它不区分大小写,但是借助 BINARY 关键字,MySQL 能够执行区分大小写的字符串比较。这是因为 BINARY 关键字指示 MySQL 按照字符串中字符的 ASCII 值而不是字母来比较字符。可以用表“Student_info”中的以下示例来说明,该表的数据如下 −
mysql> Select * from student_info; +------+---------+------------+------------+ | id | Name | Address | Subject | +------+---------+------------+------------+ | 101 | YashPal | Amritsar | History | | 105 | Gaurav | Chandigarh | Literature | | 125 | Raman | Shimla | Computers | +------+---------+------------+------------+ 3 rows in set (0.00 sec)
下面的查询会使用 BINARY 关键字强制 MySQL 执行区分大小写的字符串比较。
mysql> select * from student_info WHERE BINARY Name IN('YashPal', 'GAURAV'); +------+---------+----------+---------+ | id | Name | Address | Subject | +------+---------+----------+---------+ | 101 | YashPal | Amritsar | History | +------+---------+----------+---------+ 1 row in set (0.08 sec)
从上面的结果集中可以清楚地看出,在使用 BINARY 关键字后,MySQL 执行了区分大小写的字符串比较。
广告