首页 > 解决方案 > Mysql中的WHERE子句不区分大小写吗?

问题描述

where子句不区分大小写吗?

我尝试对表数据使用不同版本的查询:

username(TEXT)    pass(TEXT)

admin                admin

上表只有一项

SELECT pass FROM lbdb_user WHERE username = "Admin";

SELECT pass FROM lbdb_user WHERE username = "admiN";

SELECT pass FROM lbdb_user WHERE username = "admin   ";

我运行的所有上述查询都产生了相同的结果。

标签: mysql

解决方案


Mysql整理,搜索区分大小写

通常我们的 mysql 查询不区分大小写。为了查询区分大小写,可以使用 mysql COLLATE 子句。collat​​e 子句允许您指定排序规则,它基本上是一组用于比较给定字符集中的字符的规则。

排序规则的后缀 ci、cs、bin 分别代表不区分大小写、区分大小写和二进制。像 utf8_bin 这样的二进制排序规则也是区分大小写的,因为它根据字符的数值比较字符。

SELECT * FROM users WHERE name like 'cRaZy' COLLATE utf8_bin;

推荐阅读