考虑以下在MySQL命令提示符下运行的sql命令-
select 'aBc'='Abc';O/P
+-------------+
| 'aBc'='Abc' |
+-------------+
| 1 |
+-------------+我期望结果显示“0”代替“1”。
如果两个字符串不在同一种情况下,我如何区分它们?
发布于 2013-10-13 14:35:04
您可以使用二进制排序规则。例如:
select 'aBc'='Abc' collate utf8_bin;也可以将其中一个字符串转换为二进制类型:
select binary('aBc')=binary('Abc');有关这两者之间的差异,请参阅MySQL文档中的MySQL。
发布于 2013-10-13 14:35:13
默认情况下,MySQL不区分大小写.要么更改列排序规则,要么使用COLLATE关键字,例如:
SELECT 'abc' COLLATE 'utf8_bin' = 'abc' COLLATE 'utf8_bin'发布于 2013-10-13 14:43:40
Command1
select BINARY 'aBc'='Abc';O/P
+---------------------+
| BINARY 'aBc'= 'Abc' |
+---------------------+
| 0 |
+---------------------+Command2
select BINARY 'aBc'= 'aBc';O/P
+---------------------+
| BINARY 'aBc'= 'aBc' |
+---------------------+
| 1 |
+---------------------+https://stackoverflow.com/questions/19346348
复制相似问题