0

考虑在 MySQL 命令提示符下运行以下 sql 命令-

select 'aBc'='Abc';

输出/输出

+-------------+
| 'aBc'='Abc' |
+-------------+
|           1 |
+-------------+

我希望结果显示“0”代替“1”。

如果两个字符串的大小写不同,如何区分它们?

4

3 回答 3

1

您可以使用二进制排序规则。例如:

select 'aBc'='Abc' collate utf8_bin;

或者您可以将其中一个字符串转换为二进制类型:

select binary('aBc')=binary('Abc');

有关这两者之间的区别,请参阅MySQL 文档中的 _bin 和二进制排序规则。

于 2013-10-13T14:35:04.167 回答
1

默认情况下,MySQL 不区分大小写。更改列排序规则,或使用COLLATE关键字,例如:

SELECT 'abc' COLLATE 'utf8_bin' = 'abc' COLLATE 'utf8_bin'
于 2013-10-13T14:35:13.810 回答
0

命令1

select BINARY 'aBc'='Abc';

输出/输出

+---------------------+
| BINARY 'aBc'= 'Abc' |
+---------------------+
|                   0 |
+---------------------+

命令2

select BINARY 'aBc'= 'aBc';

输出/输出

+---------------------+
| BINARY 'aBc'= 'aBc' |
+---------------------+
|                   1 |
+---------------------+
于 2013-10-13T14:43:40.477 回答