概述
在mysql中执行下面语句1SELECT
SET
bizId=SUBSTRING_INDEX(LOG,
'posterId:'
,-1)
FROM
bbs_log
WHERE
LOG
LIKE
'%posterId:%'
AND
bizId
IS
NULL
;
发现结果中吧PosterId的也查出来了,即like查询中关键字没有区分大小写
是,该怎么办呢?解决方法如下:
方法1:(查询时,指定区分大小写)
很简单,在like的后面加个binary就可以了,适用于表的结构不易改变的情况下。大多数人发现这个问题的时候,往往表的结构是不能改变的,所以,这种方法还是很好的。1SELECT
SUBSTRING_INDEX(LOG,
'posterId:'
,-1),bl.*
FROM
bbs_log bl
WHERE
LOG
LIKE
BINARY
'%posterId:%'
;
方法2:也可以在建表的时候,设置好区分大小的。
也可以在建表时,加以标识1
2
3create
table
table_name(
a
varchar
(20)
binary
)
在MySQL中,对于Column Collate其约定的命名方法如下:
*_bin: 表示的是binary case sensitive collation,也就是说是区分大小写的
*_cs: case sensitive collation,区分大小写
*_ci: case insensitive collation,不区分大小写
在此就不再展开了。
最后
以上就是还单身西装为你收集整理的mysql case 模糊查询_MySQL模糊查询(like)时区分大小写的全部内容,希望文章能够帮你解决mysql case 模糊查询_MySQL模糊查询(like)时区分大小写所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复