我知道mysql查询是区分大小写的。但在我的一个数据库中,它是不区分大小写的。下面两个查询都给出相同的结果 Select username from auth_user where username='shivam' 以及 Select username from auth_user where username='ShivaM' 我在django项目中使用过这个数据库,我通常使用icontains和iexact查找来进行不区分大小写的查询,但我无法找出上述行为的原因。
Select username from auth_user where username='shivam'
Select username from auth_user where username='ShivaM'
zxlwwiss1#
默认的字符集和排序规则是latin1和latin1_-swedish_-ci,因此默认情况下非二进制字符串比较不区分大小写。这意味着,如果使用col\ u name(如“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
1条答案
按热度按时间zxlwwiss1#
默认的字符集和排序规则是latin1和latin1_-swedish_-ci,因此默认情况下非二进制字符串比较不区分大小写。这意味着,如果使用col\ u name(如“a%”)进行搜索,则会得到以a或a开头的所有列值。
也许这个链接对你有用
https://dev.mysql.com/doc/refman/8.0/en/case-sensitivity.html