gpt4 book ai didi

mysql - SQL 使用 like 运算符在多个字段上找到相同的值

转载 作者:行者123 更新时间:2023-11-29 01:55:12 24 4
gpt4 key购买 nike

我的 users 表中有以下记录:

user_id first_name  last_name   gender  email
******* ********** ********* ****** *****
229 Natalie Fern F natalie.fern@hotmail.com

我想从 first_namelast_name 中搜索相同的 First NameLast Name

我创建了 sql 查询但没有获取记录。

SELECT *
FROM user_detail
WHERE first_name LIKE '%Natalie Fern%'
OR last_name LIKE '%Natalie Fern%'
LIMIT 0 , 30

您注意到我从两个字段中传递了名字和姓氏。

知道为什么我没有收到记录吗?

谢谢。

最佳答案

您正在对 first_namelast_name 使用 LIKE 运算符,如下所示:

LIKE '%Natalie Fern%'

这只会匹配包含anything 后跟'Natalie Fern' 后跟anything 的字符串。但是由于名字和姓氏列仅包含(令人惊讶的)名字和姓氏,因此您的查询不匹配任何记录。您可以使用 CONCAT 来尝试匹配名字和姓氏的组合:

SELECT *
FROM user_detail
WHERE CONCAT(first_name, ' ', last_name)
LIKE '%Natalie Fern%'
LIMIT 0, 30

如果您想检查名字可能是“Natalie”或“Fern”的人,那么您可以使用此查询:

SELECT *
FROM user_detail
WHERE first_name LIKE '%Natalie%'
OR first_name LIKE '%Fern%'
OR last_name LIKE '%Natalie%'
OR last_name LIKE '%Fern%'
LIMIT 0, 30

关于mysql - SQL 使用 like 运算符在多个字段上找到相同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30906849/

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