考虑在 MySQL 命令提示符下运行以下 sql 命令-
select 'aBc'='Abc';
输出/输出
+-------------+
| 'aBc'='Abc' |
+-------------+
| 1 |
+-------------+
我希望结果显示“0”代替“1”。
如果两个字符串的大小写不同,如何区分它们?
您可以使用二进制排序规则。例如:
select 'aBc'='Abc' collate utf8_bin;
或者您可以将其中一个字符串转换为二进制类型:
select binary('aBc')=binary('Abc');
有关这两者之间的区别,请参阅MySQL 文档中的 _bin 和二进制排序规则。
默认情况下,MySQL 不区分大小写。更改列排序规则,或使用COLLATE
关键字,例如:
SELECT 'abc' COLLATE 'utf8_bin' = 'abc' COLLATE 'utf8_bin'
select BINARY 'aBc'='Abc';
+---------------------+
| BINARY 'aBc'= 'Abc' |
+---------------------+
| 0 |
+---------------------+
select BINARY 'aBc'= 'aBc';
+---------------------+
| BINARY 'aBc'= 'aBc' |
+---------------------+
| 1 |
+---------------------+