mysql查询条件-不区分大小写

栏目: 数据库 · 发布时间: 6年前

内容简介:项目中遇到一个bug,查了一下问题在于mysql查询条件不区分大小写比如 test表里面存储了两列数据查询语句 select * from test where col0 = 'tmp'

项目中遇到一个bug,查了一下问题在于 mysql 查询条件不区分大小写

比如 test表里面存储了两列数据

col0 col1 col2
tmp 1 1
TMP 2 2

查询语句 select * from test where col0 = 'tmp'

两行都能搜索出来。第一次拿到这一个结果,我的内心是这样的:WTF、EXM、你TMD是来逗我的吧

但事实摆在面前,不能不认怂。下一步究其根本,这个答案很靠谱

以下引自:https://blog.csdn.net/Veir_123/article/details/73730751

Mysql默认的字符检索策略:utf8_general_ci,表示不区分大小写;utf8_general_cs表示区分大小写,utf8_bin表示二进制比较,同样也区分大小写 。(注意:在Mysql5.6.10版本中,不支持utf8_genral_cs!!!!)

创建表时,直接设置表的collate属性为utf8_general_cs或者utf8_bin;如果已经创建表,则直接修改字段的Collation属性为utf8_general_cs或者utf8_bin。

直接修改 sql 语句,在要查询的字段前面加上binary关键字即可。

-- 在每一个条件前加上binary关键字

select * from test where binary col0 = 'tmp';

-- 将参数以binary('')包围

select * from test where col0 = binary('tmp');


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

The Little MLer

The Little MLer

Matthias Felleisen、Daniel P. Friedman、Duane Bibby、Robin Milner / The MIT Press / 1998-2-19 / USD 34.00

The book, written in the style of The Little Schemer, introduces instructors, students, and practicioners to type-directed functional programming. It covers basic types, quickly moves into datatypes, ......一起来看看 《The Little MLer》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具