我知道 mysql 查询是区分大小写的。但是在我的一个数据库中,它不区分大小写。以下两个查询都给出了相同的结果
从 auth_user 中选择用户名 where username='shivam'
和
从 auth_user 中选择用户名 where username='ShivaM'
我在我的 django 项目中使用了这个数据库,我通常使用 icontains 和 iexact 查找来进行不区分大小写的查询,但我无法找出上述行为的原因。
最佳答案
默认字符集和排序规则是 latin1 和 latin1_swedish_ci,因此默认情况下非二进制字符串比较不区分大小写。这意味着如果您使用 col_name LIKE 'a%' 进行搜索,您将获得所有以 A 或 a 开头的列值。
// this returns true
select 'A' like 'a'
// this returns false
select 'A' like binary 'a'
select * from user where email like binary 'a'
也许这个链接对你有用
https://dev.mysql.com/doc/refman/8.0/en/case-sensitivity.html
关于MYSQL 使查询不区分大小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50316669/