0

我想使用 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';
4

1 回答 1

0

您的keyword字段可以包含多个值(设备)吗?喜欢ipad;iphone;nokia

如果是这样,这是不好的做法。它违反了第一范式,这是不良表格设计的症状。尽管如此,您使用多个LIKEandAND子句的方式应该可以工作。

在 MySQL 中将其转换为 REGEXP 语法并不容易,而且绝对不值得麻烦。有关更多详细信息,请参阅此帖子

于 2013-08-19T11:54:36.977 回答