一尘不染

SQL在同一字段中搜索多个值

mysql

我正在构建一个简单的 搜索 算法,我想 用空格 打破我的 字符串 ,并在其上搜索数据库,如下所示:

$search = "Sony TV with FullHD support";  
$search = explode( ' ', $search );

SELECT name FROM Products WHERE name LIKE %$search[1]% AND name LIKE %$search[2]% LIMIT 6

这可能吗?


阅读 562

收藏
2020-05-17

共1个答案

一尘不染

是的,您可以使用SQL IN运算符来搜索多个绝对值:

SELECT name FROM products WHERE name IN ( 'Value1', 'Value2', ... );

如果要使用LIKE,则需要改为使用OR

SELECT name FROM products WHERE name LIKE '%Value1' OR name LIKE '%Value2';

使用AND(如您所尝试的)要求所有条件为真,使用OR至少需要一个条件为真。

2020-05-17