Mysql 查询条件中字符串尾部有空格也能匹配上的问题
一、表结构
TABLE person
| id | name |
|---|---|
| 1 | 你 |
| 2 | 你(一个空格) |
| 3 | 你(二个空格) |
二、查询与结果
select * from person where `name` = ?
无论 ? = ”你 + 几个空格”,都会检索出全部三个结果。
三、原因
MySQL 校对规则属于PADSPACE,会忽略尾部空格
针对的是 varchar char text …… 等文本类的数据类型
此为 SQL 标准化行为。无需要设置也无法改变。
四、想要精确查询怎么办?
方法一:like
select * from person where `name` like ?
方法二:BINARY
select * from person where `name` = BINARY ?
BINARY 不是函数,是类型转换运算符,它用来强制它后面的字符串为一个二进制字符串,可以理解成精确匹配
Mysql 查询条件中字符串尾部有空格也能匹配上的问题的更多相关文章
- mysql查询条件字段值末尾有空格的问题
mark MYSQL的binary解决mysql数据大小写敏感问题的方法
- Ext.Net 使用总结之查询条件中的起始日期
2.关于查询条件中起始日期的布局方式 首先上一张图,来展示一下我的查询条件的布局,如下: 大多数时候,我们的查询条件都是一个条件占一个格子,但也有不同的时候,如:查询条件是起始日期,则需要将这两个条件 ...
- MySql 查询列中包含数据库的关键字
MySQL查询列表中包含数据的关键字的处理办法是用``把关键字包起来(tab键上面的字符)
- Mysql查询语句中字符型字段不区分大小写解决方法
项目中和前端联调的时候,发现Mysql查询语句中字符型字段值过滤是不区分大小写的,之前没有关注过这个设置,特意去网上看了下,原因是Mysql中“COLLATE”属性区分大小写,而该属性默认值为“utf ...
- (3.5)常用知识-NULL与零长度、字符串尾部填充空格
概述:NULL与零长度是不同的,NULL表示数据未知或不可用,它是与零(数值或2进制).零长度字符串不 同的一种值,也可以理解为一种状态. 即可以理解为:所有的变量都有2种状态,一种有值,一种为NUL ...
- mysql查询今天,昨天,近7天,近30天,本月,上一月数据的方法(摘录)
mysql查询今天,昨天,近7天,近30天,本月,上一月数据的方法分析总结: 话说有一文章表article,存储文章的添加文章的时间是add_time字段,该字段为int(5)类型的,现需要查询今天添 ...
- mysql查询今天,昨天,近7天,近30天,本月,上一月数据
近期项目中用到了查询当月数据记录的功能,最初的想法是在逻辑业务里构造好时间段进行查询,当写sql语句时感觉挺麻烦.所以就到网上搜索了一下,看看是不是能有简单的方法.果然.网络资源非常强大.以下结合我的 ...
- 字符串变量作mysql查询条件
原文:http://blog.csdn.net/qing_gee/article/details/41646503 当你的查询条件是一个字符串变量时,你该怎么办,比如字符串可能是“0001ME,000 ...
- mysql 查询条件中文问题
这是mysql字符编码的问题,因为mysql默认的字符编码为latin1它并不识别中文,所以在读取查询语句时会出现乱码 从而使查询条件不正确所以我们只需要更改它的字符编码就可以一般都是用utf8 这里 ...
随机推荐
- HTML5 input 类型: email及url
原文地址:HTML5′s "email" and "url" Input Types 原文日期: 2010年09月15日 翻译日期: 2013年08月13日 在 ...
- Dynamics crm2013 IFD部署后启用多组织
对CRM的多组织都不会陌生,在常规模式下新建组织后更改下url后面的组织名称即可访问新的组织了,而在部署IFD后就需要注意两点:1.域名的DNS解析:2.relying patry trust的更新 ...
- listview的工作原理
/** * Unsorted views that can be used by the adapter as a convert view. */ private ArrayList<View ...
- 《java入门第一季》之面向对象(抽象类到底多抽象)
/* 抽象类的概述: 动物不应该定义为具体的东西,而且动物中的吃,睡等也不应该是具体的. 我们把一个不是具体的功能称为抽象的功能,而一个类中如果有抽象的功能,该类必须被称为是抽象类. 抽象类的特点: ...
- STL - miltimap(可重映射)
#include <iostream> #include <map> #include <string> using namespace std; //Multim ...
- java的参数传递与内存分配问题
本文可作为北京尚学堂java课程的学习笔记. 看下面这段代码. class BirthDate { private int day; private int month; private int ye ...
- Android中处理大图片时图片压缩
1.BitmapFactory.Options中的属性 在进行图片压缩时,是通过设置BitmapFactory.Options的一些值来改变图片的属性的,下面我们来看看BitmapFactory.Op ...
- Android 高逼格纯代码实现类似微信钱包带分割线的GridView
前言 原文地址:http://blog.csdn.net/sk719887916/article/details/40348837: Tamic 通过上两篇关于自定view的文章,在自定义vie ...
- Media Player Classic - HC 源代码分析 2:核心类 (CMainFrame)(1)
===================================================== Media Player Classic - HC 源代码分析系列文章列表: Media P ...
- 苹果新的编程语言 Swift 语言进阶(八)--属性
属性是特定类.结构或枚举的相关值,属性根据作用域不同分为实例属性与类型属性,还可以根据是否存储分为存储属性和计算属性. 1.1 实例属性 为一个类.结构或枚举定义的属性默认属于实例属性,即该属性属于为 ...