You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

数据库模糊查询问题:LIKE '%Anil Maurya%'无法匹配记录如何解决?

解决LIKE查询匹配不到记录的问题

嘿,这问题挺典型的,我来帮你捋清楚症结所在!

首先咱们拆解下问题:你要找的目标记录是Anil Kumar Maurya,但你的查询语句里写的是%Anil Maurya%——这里中间少了Kumar这个关键部分,LIKE匹配自然就找不到结果啦。另外还有个容易忽略的细节:你的表名是user-name(带连字符),直接写的话SQL会把它解析成user - name(减法运算),肯定会触发语法错误,得用标识符把表名包裹起来才行。

下面给你两种可行的正确查询方案:

1. 精确匹配完整的名字片段

如果你明确要找包含Anil Kumar Maurya的记录,直接把缺失的Kumar补上,同时处理好表名的语法问题:

SELECT * FROM `user-name` WHERE username LIKE '%Anil Kumar Maurya%';

2. 模糊匹配首尾关键词(忽略中间内容)

如果你只是想找名字里同时包含AnilMaurya的记录(不管中间夹了什么内容),可以用两个%来匹配中间的任意字符:

SELECT * FROM `user-name` WHERE username LIKE '%Anil%Maurya%';

小补充:不同数据库的标识符包裹方式略有区别,比如MySQL用反引号`,SQL Server用方括号[],你可以根据自己使用的数据库调整。

内容的提问来源于stack exchange,提问作者Anil Kumar Maurya

火山引擎 最新活动