我想使用 REGEXP 搜索相同的字段但有多个值。可能吗?
SELECT
*
FROM
posts
WHERE keyword LIKE '%ipad%'
AND keyword LIKE '%iphone%'
AND keyword LIKE '%nokia%' ;
此查询用于 OR,我想将其转换为 AND 条件
SELECT * FROM posts WHERE keyword REGEXP 'ipad|iphone|nokia';
我想使用 REGEXP 搜索相同的字段但有多个值。可能吗?
SELECT
*
FROM
posts
WHERE keyword LIKE '%ipad%'
AND keyword LIKE '%iphone%'
AND keyword LIKE '%nokia%' ;
此查询用于 OR,我想将其转换为 AND 条件
SELECT * FROM posts WHERE keyword REGEXP 'ipad|iphone|nokia';
您的keyword
字段可以包含多个值(设备)吗?喜欢ipad;iphone;nokia
?
如果是这样,这是不好的做法。它违反了第一范式,这是不良表格设计的症状。尽管如此,您使用多个LIKE
andAND
子句的方式应该可以工作。
在 MySQL 中将其转换为 REGEXP 语法并不容易,而且绝对不值得麻烦。有关更多详细信息,请参阅此帖子。