mysql搜索是不区分大小写的,这种情况下我们有两种方法解决
知识前提:
BINARY
binary不是函数,而是一个类型转换运算符,它用来强制字符串为一个二进制字符串,可以理解为在字符串比较的时候区分大小写。
一般用于查询语句
COLLATE
即校验规则:
*_bin: 表示的是binary case sensitive collation,也就是说是区分大小写的
*_cs: case sensitive collation,区分大小写
*_ci: case insensitive collation,不区分大小写
备注:
*为编码方式
使用它时一般与CHARACTER SET搭配,例如:`name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL
究其原因,因为当前字段的编码方式决定了COLLATE可选内容。
综上所述
方法一:搜索语句加上binary
eg: select * from test where binary name= 'aa'
方法二:创建时添加CHARACTER SET及COLLATE
eg: name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL
————————————————
版权声明:本文为CSDN博主「weixin_39773817」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_39773817/article/details/113252216
本文介绍了在MySQL中如何通过binary关键字和CHARACTERSET/COLLATE规则实现搜索时不区分大小写,包括方法一:在查询语句中添加binary,以及方法二:创建表时指定utf8mb4_bin字符集。

794

被折叠的 条评论
为什么被折叠?



