gpt4 book ai didi

mysql - 在数据库中搜索一个人的名字 - MySQL

转载 作者:行者123 更新时间:2023-11-29 02:35:34 28 4
gpt4 key购买 nike

在我的表中,我将名字存储在 fName 列中,将姓氏存储在 lName 列中,现在我需要使用查询来搜索它们,但我没有不懂 SQL!

例子

   lName | fName  
-----------------
Tendulkar| Sachin
Ganguly | Sourav
Khan | Zaheer
Dhoni | Mahendra Singh

如果用户搜索 Mahendra Dhoni,他应该会得到 MAHENDRA SINGH DHONI!

最佳答案

select concat(fName,' ',lName) fullname
from tbl
where concat(' ',fName,' ',lName,' ') like '% Mahendra %'
and concat(' ',fName,' ',lName,' ') like '% dhoni %'

这肯定会使查询性能良好的希望落空

主题的变体

select concat(fName,' ',lName) fullname
from tbl
where (concat(fName,' ',lName) like '%Mahendra%dhoni%'
or concat(lName,' ',fName) like '%Mahendra%dhoni%')

第二个版本不关心完整的部分匹配,例如dhoni 将匹配 madhonie


这两个查询都能正确找到名称。请注意,要匹配的名称前后有 %,名称中的每个空格都有 %。

create table tbl (fname varchar(100), lname varchar(100));
insert tbl select 'Mahendra singh', 'dhoni';

select concat(fName,' ',lName) fullname
from tbl
where (concat(fName,' ',lName) like '%Mahendra%dhoni%'
or concat(lName,' ',fName) like '%Mahendra%dhoni%');

select concat(fName,' ',lName) fullname
from tbl
where (concat(fName,' ',lName) like '%dhoni%Mahendra%'
or concat(lName,' ',fName) like '%dhoni%Mahendra%');

关于mysql - 在数据库中搜索一个人的名字 - MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5546825/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com