区分mysql中具有不同大小写的两个字符串

时间:2013-10-13 14:32:36

标签: mysql sql string

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

select 'aBc'='Abc';

O / P

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

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

如果两个字符串不在同一个字符串中,我如何区分它们?

3 个答案:

答案 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)

COMMAND1

select BINARY 'aBc'='Abc';

O / P

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

命令2

select BINARY 'aBc'= 'aBc';

O / P

+---------------------+
| BINARY 'aBc'= 'aBc' |
+---------------------+
|                   1 |
+---------------------+