gpt4 book ai didi

mysql - 如何在表的两个字段之一中搜索子字符串

转载 作者:行者123 更新时间:2023-11-29 07:50:32 25 4
gpt4 key购买 nike

我有一个包含三列的表格:idfirstlast

我想查找第一个或最后一个字段中包含“SAM”的所有记录。

我不是 MySQL 专家,但在我看来,可以使用 LIKE 运算符查询一个字段。

如何在查询中使用 LIKE 同时从两列获取数据?

我已经尝试过这个:

SELECT id 
FROM `employees`
WHERE 'first' like 'SAM' OR 'last' like 'SAM'

但我收到消息“您的 SQL 语法有错误;请检查与您的 MySQL 服务器版本对应的手册以获取正确的语法。”

最佳答案

我似乎无法弄清楚为什么会出现语法错误,但查询的一个问题是,在列名周围加上单引号会导致它被视为字符串文字而不是列名。

我的意思是,它不是将 first 列中的值与字符串“SAM”进行比较,而是比较两个不同的字符串“first”和“SAM”。此查询不会返回任何结果。

此外,只有当名字或姓氏等于 sam 时,这才有效。为了在任何时候检查这些字符作为子字符串,我会在字符串的前面和后面添加通配符。

试试这个:

SELECT id
FROM employees
WHERE first LIKE '%SAM%' OR last LIKE '%SAM%'

这是一个SQL Fiddle展示它是如何工作的。

关于mysql - 如何在表的两个字段之一中搜索子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26540230/

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