在 SQL 中使用“WHERE binary”?
binary 关键字可以在 WHERE 子句之后使用,用于进行精确的区分大小写的匹配。
以下是一个示例:
**案例 1** - 不区分大小写的匹配
查询如下:
mysql> select 'joHN'='JOHN' as Result;
输出如下:
+--------+ | Result | +--------+ | 1 | +--------+ 1 row in set (0.00 sec)
在上面的示例输出中,结果为真,而我们知道 joHN 和 JOHN 是两个不同的单词。这不是区分大小写的匹配。
**案例 2** - 如果需要区分大小写的匹配,请使用 binary 关键字。
查询如下:
mysql> select binary 'joHN'='JOHN' as Result;
输出如下:
+--------+ | Result | +--------+ | 0 | +--------+ 1 row in set (0.00 sec)
让我们看看另一个查询:
mysql> select binary 'JOHN'='JOHN' as Result;
输出如下:
+--------+ | Result | +--------+ | 1 | +--------+ 1 row in set (0.00 sec)
**注意** - 您可以在创建表时使用 binary 关键字,使您的列区分大小写。
为了理解上述概念,让我们创建一个表。创建表的查询如下:
mysql> create table binaryKeywordDemo -> ( -> Id int NOT NULL AUTO_INCREMENT, -> Name varchar(10) binary, -> PRIMARY KEY(Id) -> ); Query OK, 0 rows affected (0.88 sec)
使用 INSERT 命令在表中插入一些记录。查询如下:
mysql> insert into binaryKeywordDemo(Name) values('bOB'); Query OK, 1 row affected (0.15 sec) mysql> insert into binaryKeywordDemo(Name) values('bob'); Query OK, 1 row affected (0.13 sec) mysql> insert into binaryKeywordDemo(Name) values('BOB'); Query OK, 1 row affected (0.18 sec) mysql> insert into binaryKeywordDemo(Name) values('Bob'); Query OK, 1 row affected (0.18 sec) mysql> insert into binaryKeywordDemo(Name) values('bOb'); Query OK, 1 row affected (0.15 sec) mysql> insert into binaryKeywordDemo(Name) values('boB'); Query OK, 1 row affected (0.21 sec)
使用 select 语句显示表中的所有记录。查询如下:
mysql> select *from binaryKeywordDemo;
输出如下:
+----+------+ | Id | Name | +----+------+ | 1 | bOB | | 2 | bob | | 3 | BOB | | 4 | Bob | | 5 | bOb | | 6 | boB | +----+------+ 6 rows in set (0.00 sec)
以下是进行精确区分大小写匹配的查询:
mysql> select *from binaryKeywordDemo where Name='Bob';
输出如下:
+----+------+ | Id | Name | +----+------+ | 4 | Bob | +----+------+ 1 row in set (0.00 sec)
广告