模糊查询忽略大小写

文章讲述了作者在项目测试中遇到查询大小写不敏感的问题,经过分析发现是数据库的排序规则设置导致的,MySQL本身支持大小写,但utf8mb4_bin字符集不支持,而utf8mb4_0900_ai_ci则支持。作者借此分享了对数据库排序规则和字符集的认识。
摘要由CSDN通过智能技术生成

最近项目测试老师提了个查询输入框应该要支持大小写都能查,因为其他同事做过类似的查询,对比了他的代码发现咱俩没差,但是我的却是不支持。苦思许久觉得应该不是代码层面了,而是数据库层面的问题?

mysql本身语句是支持大小写的,如果你发现你的查询不生效,那么不妨去检查一下该字段数据库的排序规则。实操下来是我们数据库默认utf8mb4_bin是不支持大小写的,utf8mb4_0900_ai_ci字符集是支持大小写的。(字符集:utf8mb4)

作为一个菜鸟,于是便去学习了一下数据库的排序规则知识。

  1. 排序规则(Collation):

    • 排序规则定义了比较字符串时使用的规则。
    • 比较和排序规则根据不同的语言和地区进行分类,并具体到某个特定的字符集。
    • 排序规则决定了如何比较字符串的顺序,包括大小写敏感性、重音符号处理等。
  2. 有一些常用的命名规则。如_ci结尾表示大小写不敏感(caseinsensitive),_cs表示大小写敏感(case sensitive),_bin表示二进制的比较(binary)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值