mysql 查询条件字段值末尾有空格的问题
今天在工作过程中遇到了一个很奇怪的mysql查询问题,当作为查询条件的字符串末尾有空格时,可以查到数据库中末尾不含空格的值。经过多次查阅资料,最后找到三种解决的方法,现在分享给大家。
比如有这样一个sql语句:
select *from table where user='wxp ';
注意“wxp ”后面是有空格的,即“wxp空格”。
执行这个SQL语句,却可以查到数据库中user为"wxp"的那一行。
这是什么原因呢?
官方文档上说是MySQL校对规则属于PADSPACE,对CHAR和VARCHAR值进行比较都忽略尾部空格,和服务器配置以及MySQL版本都没关系。
下面小编为大家提供三种解决方案:
第一种方法:使用like
select *from table where user like 'wxp ';
第二种方法:使用BINARY
select *from table where user=BINARY 'wxp ';
第三种方法:使用len函数
select * from table where user='wxp ' and len(user)=len('wxp ');
三种方法都可以解决mysql 查询条件字段值末尾有空格的bug,大家可以随便选一种方法。
- 2017-07-28javascript分享几种获取URL地址中查询字符串参数和值的方法
- 2016-11-07php源码之删除空格空行换行
- 2016-11-03php去掉/删除字符串首尾及中间空格的方法
- 2016-08-28mysql select 查询语句实例讲解
- 2016-08-27mysql like模糊查询及通配符实例讲解
- 2016-07-22php获取并解析mysql数据
- 2016-06-28MySQL查询包含非ASCII字符的记录
- 2016-06-28mysql 正则表达式查询含有非数字和字符的记录
- 2016-06-08mysql 子查询 exists 和 not exists使用方法和实例
- 2016-05-31mysql select 结合where子语句查询结果集
- 2016-05-31mysql select 从表中检索或查询数据
- 2016-03-28mysql 将字段值中的第一个逗号前面的数据作为查询条件
- 2016-03-28mysql 多表连接查询实例
- 2016-01-25php chop 删除字符串右端的空格或其他预定义字符
- 2016-01-25javascript 去掉字符串左边或右边空格
- 2016-01-22PHP清除数组中所有字符串的两端空格代码
- 2016-01-19javascript 过滤字符串中的中文与空格
- MySQL 教程
- MySQL 安装
- MySQL 管理与配置
- MySQL PHP 语法
- MySQL 连接
- MySQL 创建数据库
- MySQL 删除数据库
- MySQL 选择数据库
- MySQL 数据类型
- MySQL 创建数据表
- MySQL 删除数据表
- MySQL 插入数据
- MySQL 查询数据
- MySQL where 子句
- MySQL UPDATE 查询
- MySQL DELETE 语句
- MySQL LIKE 子句
- mysql order by
- Mysql Join的使用
- MySQL NULL 值处理
- MySQL 正则表达式
- MySQL 事务
- MySQL ALTER命令
- MySQL 索引
- MySQL 临时表
- MySQL 复制表
- 查看MySQL 元数据
- MySQL 序列 AUTO_INCREMENT
- MySQL 处理重复数据
- MySQL 及 SQL 注入
- MySQL 导出数据
- MySQL 导入数据
- MYSQL 函数大全
- MySQL Group By 实例讲解
- MySQL Max()函数实例讲解
- mysql count函数实例
- MYSQL UNION和UNION ALL实例
- MySQL IN 用法
- MySQL between and 实例讲解