mysql数据查询分不分大小写

 我来答
最柔人天忆16
2017-12-07 · TA获得超过1935个赞
知道小有建树答主
回答量:2.1万
采纳率:33%
帮助的人:1425万
展开全部
解决方案一:

于是怀疑Mysql的问题。做个实验:直接使用客户端用sql查询数据库。 发现的确是大小不敏感 。
通过查询资料发现需要设置collate(校对) 。 collate规则:
*_bin: 表示的是binary case sensitive collation,也就是说是区分大小写的
*_cs: case sensitive collation,区分大小写
*_ci: case insensitive collation,不区分大小写
解决方法。
1.可以将查询条件用binary()括起来。 比如:
?

1

select * from TableA where binary columnA ='aaa';

2. 可以修改该字段的collation 为 binary
比如:
?

1

ALTER TABLE TABLENAME MODIFY COLUMN COLUMNNAME VARCHAR(50) BINARY CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL;

解决方案二:
mysql查询默认是不区分大小写的 如:
?

1
2

select * from some_table where str=‘abc';
select * from some_table where str='ABC';

得到的结果是一样的,如果我们需要进行区分的话可以按照如下方法来做:

第一种方法:
要让mysql查询区分大小写,可以:

?

1
2

select * from some_table where binary str='abc'
select * from some_table where binary str='ABC'

第二方法:

在建表时时候加以标识

?

1
2
3

create table some_table(
str char(20) binary
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
出门在外_1
2017-11-01 · TA获得超过1.2万个赞
知道大有可为答主
回答量:1.4万
采纳率:76%
帮助的人:6107万
展开全部
区分大小写的 默认Linux和mysql是区分大小写的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式