背景介绍
MySQL like查看结果出现了区分大小写的情况,实际需求是查询的时候不去区分大小写!
原因
MySQL的LIKE查询默认情况下是不区分大小写的。如果LIKE查询是区分大小写的,是因为列使用了区分大小写的字符集或校对规则。
解决办法
- 在
like查询的时候使用COLLATE指定指定校对规则为不区分大小写的。 - 校对规则要根据字符集规则设置,比如字符集是
utf8mb4可以指定校对规则为utf8_general_ci;字符集是utf8mb4可以指定校对规则为utf8_general_ci。 - 不能使用带
bin后缀的校对规则。
示例
SELECT * FROM your_table
WHERE your_column LIKE 'your_pattern%' COLLATE utf8mb4_general_ci;