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

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

一、表结构

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

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

猜你喜欢

  • SQL语句练习实例之四 找出促销活动中销售额最高的职员

    2011-11-03 16:47:03
  • Python 中闭包与装饰器案例详解

    2021-08-08 12:28:32
  • Go语言通过smtp发送邮件的方法

    2024-01-29 19:21:27
  • Python中使用md5sum检查目录中相同文件代码分享

    2022-10-31 19:57:59
  • ChatGPT 帮我自动编写 Python 爬虫脚本的详细过程

    2021-09-09 09:13:50
  • Python3常见函数range()用法详解

    2021-04-20 10:34:19
  • Python 读取某个目录下所有的文件实例

    2022-08-27 20:04:13
  • Python函数的默认参数设计示例详解

    2021-03-23 04:31:58
  • 安装并免费使用Pycharm专业版(学生/教师)

    2023-09-27 08:14:13
  • php浅析反序列化结构

    2023-11-17 17:34:37
  • js 将json字符串转换为json对象的方法解析

    2023-07-22 21:41:49
  • python利用socketserver实现并发套接字功能

    2021-01-28 16:36:45
  • MYSQL各字段的长度是多少?

    2009-10-28 18:32:00
  • Python def函数的定义、使用及参数传递实现代码

    2023-02-23 04:54:34
  • python pandas dataframe 去重函数的具体使用

    2023-10-15 00:56:36
  • 使用python实现下拉选择框和页签的方法

    2021-10-01 04:07:41
  • 说说掌握JavaScript语言的思想前提

    2008-12-26 17:59:00
  • Python logging自定义字段输出及打印颜色

    2023-09-03 17:04:25
  • Python fileinput模块应用详解

    2021-06-23 14:28:09
  • Python安装.whl文件流程以及问题解决方法

    2022-10-24 15:15:23
  • asp之家 网络编程 m.aspxhome.com