网络编程
位置:首页>> 网络编程>> 数据库>> 详解Mysql查询条件中字符串尾部有空格也能匹配上的问题

详解Mysql查询条件中字符串尾部有空格也能匹配上的问题

作者:小蒋不素小蒋  发布时间:2024-01-13 11:06:50 

标签:Mysql,查询条件,字符串处理

一、表结构

TABLE person

idname
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 不是函数,是类型转换运算符,它用来强制它后面的字符串为一个二进制字符串,可以理解成精确匹配

来源:https://www.cnblogs.com/xjnotxj/p/9019866.html

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com