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

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

内容简介:项目中遇到一个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');


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

查看所有标签

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

同伦方法纵横谈

同伦方法纵横谈

王则柯 / 大连理工大学 / 2011-5 / 25.00元

《走向数学丛书07-同伦方法纵横谈》,在本书里读者会看到许多人物故事,作为一本普及读物,我们有时候甚至觉得,对于不少读者来说,书中所写的科学研究中的人物故事,可能比书中介绍的具体的研究成果更有价值,这些人物故事,许多都出自我们个人之间的交往,这是从一个侧面了解科学研究的规律,了解科学家之成为科学家的珍贵记录。一起来看看 《同伦方法纵横谈》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

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

UNIX 时间戳转换

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具