您现在的位置是:网站首页> 编程资料编程资料
详解Mysql查询条件中字符串尾部有空格也能匹配上的问题_Mysql_
                     2023-05-27
                439人已围观
                
                2023-05-27
                439人已围观
            
简介 详解Mysql查询条件中字符串尾部有空格也能匹配上的问题_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 学习总结 之 初步了解 InnoDB 存储引擎的架构设计_Mysql_
- 解决MySql客户端秒退问题(找不到my.ini)_Mysql_
- PostgreSQL物化视图(materialized view)过程解析_Mysql_
- MySQL延时复制库方法详解_Mysql_
- 如何更改MySQL数据库的编码为utf8mb4_Mysql_
- mysql不支持group by的解决方法小结_Mysql_
- Windows10下mysql 8.0.19 安装配置方法图文教程_Mysql_
- MySQL模糊查询语句整理集合_Mysql_
- 在IDEA的maven项目中连接并使用MySQL8.0的方法教程_Mysql_
- Mysql高性能优化技能总结_Mysql_
 
                                
                                                         
                                
                                                         
                                
                                                         
 
    