如何在MySQL中检索符合类似要求的字符/单词,而不是整行

如何在MySQL中检索符合类似要求的字符/单词,而不是整行,mysql,Mysql,可以用作参考点的表格: CREATE TABLE TEST ( Owner varchar(64) DEFAULT NULL, Devices varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; INSERT INTO TEST (Owner,Devices) VALUES ('Peter', 'laptop,phone,tablet'), ('Joe', 'phone,laptop,tablet'), ('Eu

可以用作参考点的表格:

    CREATE TABLE TEST (
Owner varchar(64) DEFAULT NULL,
Devices varchar(64) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

INSERT INTO TEST (Owner,Devices) VALUES
('Peter', 'laptop,phone,tablet'),
('Joe', 'phone,laptop,tablet'),
('Eugene', 'phone,tablet,laptop');


mysql> SELECT Owner, Devices FROM TEST WHERE Devices LIKE '%Laptop%';
+--------+---------------------+
| Owner  | Devices             |
+--------+---------------------+
| Peter  | laptop,phone,tablet |
| Joe    | phone,laptop,tablet |
| Eugene | phone,tablet,laptop |
+--------+---------------------+
3 rows in set (0.00 sec)
LIKE操作符查找某个模式,但MySQL结果不仅显示匹配的模式,而且显示具有匹配模式的整个字符串。 请告知是否有以下方式显示结果:

+--------+---------------------+
| Owner  | Devices(LIKE result)|
+--------+---------------------+
| Peter  | laptop              |
| Joe    | laptop              |
| Eugene | laptop              |
+--------+---------------------+
3 rows in set (0.00 sec)

提前谢谢你

只需在选择框中使用您要查找的单词:

SELECT Owner, "Laptop" FROM TEST WHERE Devices LIKE '%Laptop%';

“笔记本电脑”只返回您键入的内容。不幸的是,这不是一个解决方案:(我不明白你的意思。如果你手动使用“laptop”这个词,那么你可以手动键入两次。如果你在变量中使用它,那么你可以像在Where子句中一样轻松地将变量插入查询的Select部分。我只想看到该子句(select语句中的LIKE提到)mysql查找。不是整个字符串“Laptop”可以用这里的任何单词表示。无论哪个单词将替换“Laptop”在您的示例中,它将被显示。LIKE无法使用它。我之前的评论仍然有效。您是如何手动或通过编程语言(如PHP)键入此内容的?似乎语法中存在错误,无法让我对其进行测试:(
   declare device varchar(50) 
   set  device = 'laptop'
   select Owner , device as Devices from test where Devices 
   like '%' + device + '%';