考虑在MySQL命令提示符下运行的以下sql命令-
select 'aBc'='Abc';
O/P
+-------------+
| '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'
命令1
select BINARY 'aBc'='Abc';
O/P
+---------------------+
| BINARY 'aBc'= 'Abc' |
+---------------------+
| 0 |
+---------------------+
命令2
select BINARY 'aBc'= 'aBc';
O/P
+---------------------+
| BINARY 'aBc'= 'aBc' |
+---------------------+
| 1 |
+---------------------+