我爱人做测试工作,遇到问题问我说她们测试时候要求
不区分大小写,比如M1和m1都显示。我第一反应需求不合理啊。数据库一般来说都是等值比较的。否则就要去做一些工作了。我就展开了一个实验场景,给她看看。实验场景是Oracle19C,效果如下:精确查询a1的时候返回a1,模糊查询的时候没有A1。这是我预期的。
但是她说她们系统不区分的。我想到她们系统是MySQL的,理论上MySQL也应该这样才是。
于是来一个MySQL的,MySQL8.0.29
这个结果说实在的有点让我吃惊。显然MySQL是没有区分。这时候我通常会引入PostgreSQL来进行对比。
PG下是什么情况呢?
这是PG14版本的结果,PG和Oracle的执行效果是一样的。
既然这样看来,可以说其实模糊区分大小写不是个例。
更加准确的说,这个和是不是模糊查询无关。而是说我们查询是不是区分大小写。即使是精确查询。
随即我又想到了兼容MySQL的Tidb。
在Tidb下会不会也继承呢?在tidb5.3的场景下,也是查询区分大小写的。可见TiDB在这点上是和Oracle、PG的执行器是一样的。
那么是MySQL错了吗?其实我倒是觉得这个可能要分场景,真的没有对错。PG、Oracle、TiDB如实反馈没有错。如果这个时候有个需求说要不区分怎么办?通常程序会改 小写 or 大写。即应用程序分别匹配一下。而MySQL就不用改了。
但是如果需求说就是要如实反馈,区分呢?显然MySQL默认下是不行了,有没有办法改呢?
有的。这样就可以了。所以说没有对错吧。
不过一开始的确翻车了,因为Oracle思维习惯,觉得是区分的,但是MySQL是不区分的。这种主要看是看数据库。
模糊查询区分大小写吗?
来源:这里教程网
时间:2026-03-01 16:37:07
作者:
编辑推荐:
- 模糊查询区分大小写吗?03-01
- windows系统vscode远程调试MySQL03-01
- SQL书写规范(通用)03-01
- MySQL性能优化的5个维度03-01
- MySQL 配置InnoDB的内存分配器03-01
- MySQL 配置InnoDB变更缓冲03-01
- MySQL 配置InnoDB的并发线程03-01
- MySQL 配置后台InnoDB I/O线程数03-01
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- 模糊查询区分大小写吗?
模糊查询区分大小写吗?
26-03-01 - windows系统vscode远程调试MySQL
windows系统vscode远程调试MySQL
26-03-01 - SQL书写规范(通用)
SQL书写规范(通用)
26-03-01 - MySQL性能优化的5个维度
MySQL性能优化的5个维度
26-03-01 - 基于LINUX的MySql二进制本地升级实施文档
基于LINUX的MySql二进制本地升级实施文档
26-03-01 - MySQL 8.0新特性-并行查询innodb_parallel_read_threads
- 分析SQL给出索引优化建议的工具(美团开源)
分析SQL给出索引优化建议的工具(美团开源)
26-03-01 - 《MySQL 8从入门到精通(视频教学版)》简介
《MySQL 8从入门到精通(视频教学版)》简介
26-03-01 - 【北亚数据库数据恢复】使用delete未加where子句删除全表数据的Mysql数据库数据恢复
- 如何远程管理天翼云RDS数据库
如何远程管理天翼云RDS数据库
26-03-01
