mysql搜索不区分大小写


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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM