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



考虑在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 |
+---------------------+

相关内容

最新更新