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