我想使用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';
答案 0 :(得分:0)
您的keyword
字段可以包含多个值(设备)吗?喜欢ipad;iphone;nokia
?
如果是这样,这是不好的做法。它违反了First Normal Form,这是表格设计不良的一个症状。尽管如此,使用多个LIKE
和AND
子句的方式仍然有效。
在MySQL中将其转换为REGEXP语法并不容易,绝对不值得。有关详细信息,请参阅此post。