有人能告诉我,如果MySQL SELECT查询是大小写敏感或大小写不敏感默认?如果不是,我要发送什么查询,这样我就可以做一些事情:

SELECT * FROM `table` WHERE `Value` = "iaresavage"

实际上,价值的真正价值是IAreSavage。


当前回答

SQL Select不区分大小写。

这个链接可以告诉你如何区分大小写:http://web.archive.org/web/20080811231016/http://sqlserver2000.databases.aspfaq.com:80/how-can-i-make-my-sql-queries-case-sensitive.html

其他回答

试一试:

order by lower(column_name) asc;

您可以小写的值和传递的参数:

SELECT * FROM `table` WHERE LOWER(`Value`) = LOWER("IAreSavage")

另一种(更好的)方法是使用文档中提到的COLLATE操作符

它们是不区分大小写的,除非你做二进制比较。

使用二进制

这是一个简单的选择

SELECT * FROM myTable WHERE 'something' = 'something'

= 1

这是一个二进制选择

SELECT * FROM myTable WHERE BINARY 'something' = 'something'

or

SELECT * FROM myTable WHERE 'something' = BINARY '

= 0

您选择的排序规则集是否区分大小写。